나는 다음과 같은 설정을 가지고 있습니다 :
내 컴퓨터: eth1: 192.168.1.1 - - - 192.168.1.2 :eth0 :server: eth1: 192.168.2.2
My SERVER는 제한 없이 라우터로 사용할 수 있습니다 iptables
. (포워딩 테이블에는 제한이 없습니다.)
서버의 eth0은 TCP 포트 80을 통해서만 액세스할 수 있습니다.
iptables -A INPUT -p tcp --dport 80 -i eth0 -j ACCEPT
서버의 eth1은 TCP 포트 22를 통해서만 액세스할 수 있습니다.
iptables -A INPUT -p tcp --dport 22 -i eth1 -j ACCEPT
이제 MY-PC에서 포트 22의 192.168.2.2(eth1)에 액세스하려고 하면 연결할 수 없습니다.
비슷한 질문에 대한 답변 4개우편 엽서, 그러나 이는 로컬 컴퓨터에서만 발생합니다.
192.168.1.2(eth0)가 포트 80의 트래픽만 허용하는데도 서버의 포트 22에서 192.168.2.2(eth1)에 액세스할 수 있습니까?
답변1
MY-PC에서 192.168.2.2로의 트래픽은 SERVER의 eth1에서 발생하지 않고 eth0에서 발생합니다. 따라서 --dport 22 -i eth1
진술은 트래픽과 일치하지 않습니다.
귀하의 최종 목표가 무엇인지는 모르겠지만 eth1에서 포트 22 트래픽을 명시적으로 허용할 의도가 있고 eth0에서도 해당 트래픽을 원하는 것 같다는 점을 고려하면 -i eth1
규칙에서 해당 조항을 제거하면 됩니다.