하나의 인터페이스에서 iptables 활성화


16

iptables가 WAN을 향하고있는 하나의 인터페이스 eth0 만 필터링하기를 원합니다. 어떻게 할 수 있습니까? 그리고 eth0에서 ftp 및 ssh 포트를 열어두고 싶습니다.


iptables 매뉴얼 페이지를 읽거나 문제를 잘못 이해 한 경우 질문을보다 구체적으로 작성하십시오.
Jari Jokinen

답변:


25

따라서 모든 인터페이스에 대해 모든 트래픽을 수락하고 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보다 까다롭기 때문에이 이전 질문을 참조하십시오 .


5
경고!!! "iptables -F"앞에 "iptables -P ..."를 수행하십시오. 현재 규칙이 기본적으로 트래픽을 삭제하도록 설정되어 있으면 -F를 실행하면 상자에서 벗어날 수 있습니다. 그렇기 때문에 기본 정책을 유지하고 다른 모든 트래픽을 삭제하는 규칙을 추가하는 것이 가장 좋습니다.
쿠프

8

이와 같은 것이 일을해야합니다.

iptables -A INPUT -i eth1 -p all -j DROP
iptables -A INPUT -i eth0 -p all -j ACCEPT

1
거의 주목할 만하다 (WAN 인터페이스의 "Drop EVERYTHING"보다 조금 더 좋은가?)-필터링하려는 인터페이스와 ACCEPT다른 인터페이스의 모든 것을 필터링하는 규칙을 작성 한다.
voretaq7

4

iptables 규칙에 인터페이스를 지정하는 옵션은 다음 -i과 같습니다 (예 :) -i eth0.


4

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은 지정된 순서대로 실행되므로 패킷을 거부하는 규칙은 항상 마지막 규칙입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.