규칙을 수동으로 입력하는 대신 iptables
규칙을 해당 체인에 추가 한 다음 저장할 수 있습니다. 이렇게하면 규칙을 파일에 추가하지 않고 규칙을 실시간으로 디버깅하여 규칙이 올바른지 확인할 수 있습니다.
포트 80을 열려면 다음과 같이하십시오.
$ sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo /etc/init.d/iptables save
마지막 명령은 추가 된 규칙을 저장합니다. 이것이 웹 트래픽의 포트를 여는 데 사용하는 규칙입니다.
규칙이 문제를 일으키는 이유
사용하려는 규칙을 발견 한 경우 :
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
"RH-Firewall-1-INPUT"이라는 체인이 있습니다. 이 체인이 없거나 체인에서이 체인으로 연결되는 링크가 없으면 INPUT
이 규칙에 도달 할 수 없습니다. 이 규칙은 다음과 같습니다.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
또는 INPUT
체인 RH-Firewall-1-INPUT
이 다음과 같은 규칙 으로이 체인에 연결되어야 합니다.
$ sudo iptables --list
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
....
참고 : 이 명령으로 어떤 체인이 있는지 확인할 수 있습니다.
$ sudo iptables -L| grep Chain
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
...
또한 기존 연결도 허용되도록 상태를 수정해야 할 수도 있습니다.
-A INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
또한 -A
스위치 를 사용할 때 규칙을 chain에 추가합니다 INPUT
. 이 규칙의 도달을 차단 및 / 또는 방해하는 다른 규칙이 있기 전에는 실행되지 않습니다. 따라서 다음과 같이 추가하는 대신 삽입하여 맨 위로 이동시킬 수 있습니다.
-I INPUT -m state --state NEW,ESTABLISHED -m tcp -p tcp --dport 80 -j ACCEPT
GUI 사용
방화벽은 복잡한 짐승 일 수 있습니다. 따라서 대신 TUI를 사용해보십시오 (TUI는 터미널의 GUI입니다).
$ sudo system-config-firewall-tui
그런 다음 iptables
규칙을 설정하는 다양한 화면을 진행할 수 있습니다 .
참고 문헌