Linux에서 포트 80을 열기 위해 gufw를 사용하려고 합니다. 내 규칙은 다음과 같습니다.
-A ufw-user-output -d 192.168.0.100/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A ufw-user-output -d 192.168.0.100/32 -p udp -m udp --dport 80 -j ACCEPT
확인했을 때의 출력입니다.ufw status
Status: active
To Action From
-- ------ ----
192.168.0.100 80 ALLOW Anywhere
192.168.0.100 80 ALLOW OUT Anywhere
다음 설정을 사용하여 tp-link 라우터에서 포트 전달을 설정했습니다(항목 2 확인).
하지만 열려 있는 포트를 확인하면포트 검사 도구, 여전히 포트 80이 닫혀 있다고 표시됩니다. 내 문제를 해결하도록 도와주실 수 있나요? 감사해요.
답변1
"간단한 방화벽"(gufw)은 iptables를 사용하여 IP 필터를 구성합니다. 따라서 IP 필터와 작동 방식에 대해 알아야 합니다. iptables는 IP 필터링을 위해 다음 테이블을 알고 있습니다.
필터 기본 테이블. 순수 여과용으로 설계되었습니다. "-t를 사용하지 않으면 기본적으로 사용됩니다. nat - 이 테이블은 네트워크 주소 변환에 사용됩니다. DSL이나 WLAN 라우터와 같습니다. 또한 192.168.xx와 같은 공용 주소를 개인 네트워크와 결합하는 데에도 사용됩니다. mangle - 이 테이블은 패킷 작업에 사용됩니다. raw - 이 테이블은 연결 추적 예외에 사용될 수 있습니다.
이 모든 테이블은 체인을 사용합니다.
INPUT -tables:filter, mangle: 이 체인의 규칙은 로컬 프로세스(예: IP 주소/포트)로 이동하는 모든 패킷에 대해 실행됩니다. OUTPUT -tables:filter, nat, mangle, raw : 이 체인의 규칙은 (로컬 프로세스에서) 나가는 모든 패킷에 대해 실행됩니다. FORWARD -tables:filter, mangle: 이 체인의 규칙은 라우팅된 모든 패킷에 사용됩니다. PREROUTING -tables:nat, mangle, raw : 이 체인의 규칙은 모든 이전 패킷을 라우팅하는 데 사용됩니다. POSTROUTING -tables:nat, mangle: 이 체인의 규칙은 라우팅 작업이 발생한 후에 실행됩니다.
"나쁜" 점은 gufw가 기본 테이블에서 사용할 사용자 정의 체인을 사용한다는 것입니다. 지금까지는 훌륭했지만 iptables의 작동 방식을 이해하지 못하는 한 gufw의 기본 원칙을 이해하는 것은 어려울 수 있습니다.
이제 명령줄에서 기본 iptables를 사용하여 이 간단한 규칙을 구현하는 방법을 보여 드리겠습니다(이것이 바로 여러분이 찾고 있는 것입니다).
당신에게 필요한 것은:
sudo iptables -I 1 입력 -p tcp --dport 80 -j #1 수락 sudo iptables -I 출력 1 -p tcp --sport 80 -j 수락 #2
#1 이렇게 하면 테이블 체인 "INPUT"의 첫 번째 위치에 기본 테이블 "filter"에 대한 링크가 삽입되고 포트 80으로 가는 모든 곳에서 TCP IP 트래픽을 허용(수락)합니다. #2 이렇게 하면 기본 테이블에 대한 링크가 삽입됩니다. 테이블 "filter"는 테이블 체인 "OUTPUT"의 첫 번째 위치에 있으며 포트 80의 로컬 프로세스에서 대상 IP 주소 및 포트 번호로 나가는 TCP IP 트래픽을 허용(수락)합니다.
따라서 이것이 우리 gufw에게 귀하의 지식을 전달하는 데 도움이 되기를 바랍니다. 아니면 gufw를 버리고 기본 iptables를 사용할 수도 있습니다. 왜냐하면 모든 사용 사례의 98%는 그다지 복잡하지 않기 때문입니다. :-) 또한 아마도 이 링크가 ufs에 도움이 될 것입니다. gufw 옆에 있는 명령줄 도구:https://help.ubuntu.com/lts/serverguide/firewall.html