iptables를 로컬 인터페이스로 전달

iptables를 로컬 인터페이스로 전달

나는 다음과 같은 설정을 가지고 있습니다 :

내 컴퓨터: 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규칙에서 해당 조항을 제거하면 됩니다.

관련 정보