답변:
따라서 모든 인터페이스에 대해 모든 트래픽을 수락하고 eth0에서 ftp 및 ssh를 제외한 모든 수신 트래픽을 삭제하려고합니다.
먼저 기본적으로 모든 트래픽을 수락하는 정책을 설정할 수 있습니다.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
그런 다음 방화벽 규칙을 재설정 할 수 있습니다.
iptables -F
이제 우리가 이미 허용 한 연결의 일부인 eth0에서 들어오는 트래픽을 허용한다고 말할 수 있습니다.
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
또한 eth0에서 들어오는 ssh 연결을 허용하려고합니다.
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
그러나 eth0에 들어오는 다른 것은 삭제해야합니다.
iptables -A INPUT -i eth0 -j DROP
약간 더 자세한 내용은 이 CentOS 위키 항목을 참조하십시오 .
FTP는 임의의 포트를 사용할 수 있기 때문에 ssh보다 까다롭기 때문에이 이전 질문을 참조하십시오 .
iptables 규칙에 인터페이스를 지정하는 옵션은 다음 -i
과 같습니다 (예 :) -i eth0
.
iptables
규칙을 만들 때 인터페이스 가 매우 간단 합니다. iptables
작동해야하는 LAN 카드를 지정하는 옵션 은-i
다음 규칙을 따르면 좋은 예가 될 수 있습니다.
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset
마지막 규칙은 처음 두 규칙과 일치하지 않는 다른 패킷을 거부하는 것입니다. 모든 규칙 iptables
은 지정된 순서대로 실행되므로 패킷을 거부하는 규칙은 항상 마지막 규칙입니다.