iptables 포트는 두 개의 인터페이스를 사용하여 공용 네트워크를 개인 네트워크로 전달합니다.

iptables 포트는 두 개의 인터페이스를 사용하여 공용 네트워크를 개인 네트워크로 전달합니다.

iptables 포트는 공용 인터페이스에서 개인 인터페이스로 들어오는 연결을 전달합니다.

나는 다음을 수행하고 싶습니다 (kali linux에서):

1.) 외부에서 들어오는 연결은 공용 인터페이스(예: wlan0, 119.118.117.56:8080)에 도착합니다.

2.) 개인 인터페이스(예: eth0, 172.20.15.5)를 사용하여 119.118.117.56:8080을 172.20.15.9:443으로 전달합니다.

3.) 172.20.15.9:443에서 개인 인터페이스(eth0, 172.20.15.5)로 응답 받기

4.) 개인 인터페이스(eth0, 172.20.15.5)의 응답을 공용 인터페이스(wlan0, 119.118.117.56:8080)로 전달하여 공용 인터페이스의 수신 연결로 응답을 다시 보냅니다.

답변1

DNAT규칙을 사용하여 들어오는 패킷을 가로채서 내부 IP로 리디렉션할 수 있습니다 .

iptables -t nat -p tcp -A PREROUTING -j DNAT -d 119.118.117.56 --dport 8080 --to-dest 172.20.15.9:443

내부 장치 172.20.15.9가 172.20.15.5를 기본 게이트웨이로 사용하지 않는 한 패킷을 가장해야 합니다.

iptables -t nat -A POSTROUTING -d 172.20.15.9 -j MASQUERADE

또한 외부로부터 전달된(초기 수신) 연결을 허용해야 합니다.

iptables -I FORWARD -i wlan0 -p tcp -d 172.20.15.9 --dport 443 -j ACCEPT

그리고 내부 인터페이스에서 답변이 전달되도록 허용합니다.

iptables -I FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

또한 커널에서 ip_forwarding을 활성화해야 합니다.

sysctl net.ipv4.ip_forward=1

이 변경 사항을 영구적으로 적용하려면 /etc/sysctl.conf다음 줄을 사용하여 편집하세요.

net.ipv4.ip_forward=1

관련 정보