![이 Iptables 규칙의 기능은 무엇입니까?](https://linux55.com/image/41058/%EC%9D%B4%20Iptables%20%EA%B7%9C%EC%B9%99%EC%9D%98%20%EA%B8%B0%EB%8A%A5%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 이 iptable 규칙을 이해할 수 있다고 생각하지만 그것이 무엇을 하는지 확실히 알고 싶습니다. 누군가 기술적으로 그것이 무엇인지 설명해 줄 수 있습니까? 이 두 가지 규칙이 결합되어 있습니다.
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 10.13.235.42 -j DNAT --to-destination 209.208.27.224:27279
/sbin/iptables -t nat -A POSTROUTING -p tcp --dport 27279 -j MASQUERADE
답변1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d 10.13.235.42 -j DNAT --to-destination 209.208.27.224:27279
테이블과 함께 사용하십시오
nat
.PREROUTING
이 규칙에서 이루어진 결정이 라우팅 결정에 영향을 미칠 수 있도록 테이블 에 규칙을 연결합니다 .10.13.235.42
엄밀히 말하면 컴퓨터의 IP 주소 중 하나일 수 있는 포트 80에 연결하기 위한 것입니다 .새 대상을 포트 27279로 설정합니다
209.208.27.224
. 머신의 IP 주소인 경우10.13.235.42
커널이 이것이 트래픽의 최종 목적지라고 생각하지 않도록 하기 위해 필요합니다. 이 시점에서 수신 패킷의 대상 IP 주소가 변경되었습니다.-j DNAT
이는 대상(예: )에서 연결 소스를 숨기는 것이 아니라 대상을 NAT하고 있음을 의미합니다SNAT
.
/sbin/iptables -t nat -A POSTROUTING -p tcp --dport 27279 -j MASQUERADE
nat
라우팅 결정을 내린 후 이 표를 사용하세요.27279
모든 IP 주소의 모든 포트에서 또는 모든 TCP 패킷을 일치시킵니다. 여기서의 아이디어는 이것이 흔하지 않은 포트 번호이기 때문에 너무 구체적으로 설명할 필요가 없다는 것입니다.MASQUERADE
소스나 대상을 모호하게 하기 위해 패킷이 수정되고 있음을 커널에 알립니다 . 이렇게 하면 응답이 제공된 것과 동일한 방식으로 반환될 수 있습니다.