흰색 주소를 통해 NAT 뒤의 가상 머신에 연결할 수 없습니다.

흰색 주소를 통해 NAT 뒤의 가상 머신에 연결할 수 없습니다.

VMware 환경에서 간단한 네트워크를 에뮬레이트했습니다.계획

host1내부 네트워크에 있고 192.186.0.0/24, 은 host2내 홈 네트워크에 있습니다 192.168.0.0/24.

router두 네트워크 모두에 두 개의 네트 어댑터가 있습니다 .

모든 시스템은 Ubuntu Server 22.04에서 작동됩니다.

iptables를 설치 router하고 구성했습니다.

root@router:~# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i int0 -j ACCEPT
-A INPUT -i ext0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2022 -j ACCEPT
-A FORWARD -i int0 -o ext0 -j ACCEPT
-A FORWARD -i ext0 -o int0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

root@router:~# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -p tcp -m tcp --dport 2022 -j DNAT --to-destination 192.186.0.2:22
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -d 192.186.0.2/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 192.168.0.114:2222

host1외부 어댑터에서 라우터의 포트 2022를 통해 연결하려고 하면 성공적으로 연결됩니다.

ilya@host2:~$ ssh -v -p 2022 [email protected]
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
...
ilya@host1:~$ uname -a
Linux host1 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

보시 192.168.0.114다시피 host1.

하지만 가짜 주소로 포트 2222에 연결하면 192.168.0.114실패합니다.

ilya@host2:~$ ssh [email protected]:2222
ssh: Could not resolve hostname 192.168.0.114:2222: Name or service not known

분명히 규칙이 작동하지 않습니다.

root@router:~ iptables -t nat -A POSTROUTING -p tcp --sport 22 -d 192.186.0.2 -j SNAT --to-source 192.168.0.114:2222

그래서 일부 규칙이나 구성 옵션을 건너뛰었습니다...

당신이 나를 도울 수?

관련 정보