VPN 클라이언트 뒤에 있는 서버에 액세스할 수 없습니다.
192.168.1.6에서 10.0.0.200:1521로 연락하고 싶습니다.
VPN 액세스를 구성했으며 192.168.1.6(Ubuntu)에서 192.168.27.65(Debian)를 ping할 수 있습니다.
Debian에서는 10.1.0.51을 사용하여 10.0.0.200에 ping을 보낼 수 있습니다.
NAT를 192.168.1.6으로 설정했기 때문에 요청은 10.0.0.200:1521, 192.168.27.65:65000으로 이동합니다.(1)다음 규칙을 따르십시오.
iptables -t nat -A PREROUTING -d 10.0.0.200 -p tcp --dport 1521 \
-j DNAT --to-destination 192.168.27.65:65000;
192.168.27.65:65000(tun0)을 10.1.0.51:65000(eth0)으로 라우팅해 보았습니다.(2)그러나 성공하지 못했습니다.
iptables -A INPUT -p tcp --dport 65000 -j ACCEPT;
iptables -A OUTPUT -p tcp --dport 65000 -j ACCEPT;
iptables -t nat -A PREROUTING -d 192.168.27.65 -p tcp --dport 65000 \
-j DNAT --to-destination 10.1.0.51:65000;
따라서 마지막 규칙 라우팅 10.1.0.51:65000에서 10.0.0.200:1521을 테스트할 수 없습니다.(삼).
iptables -t nat -A PREROUTING -d 10.1.0.51 -p tcp --dport 65000 \
-j DNAT --to-destination 10.0.0.200:1521;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
192.168.1.6에서 10.0.0.200:1521로 이동하는 방법은 무엇입니까?
제가 틀린 것 같습니다. 192.168.27.65:65000(tun0)은 10.1.0.51:65000에 도달할 수 없습니다. IP를 사용하는 대신 tun0과 eth0 사이에서 NAT를 수행해야 하는데 어떻게 해야 하는지 모르겠습니다.
이전 구성에서는 다음 명령을 사용하여 트래픽을 localhost:port로 라우팅한 다음 localhost:port를 다른 호스트로 라우팅했습니다. 하지만 여기서는 상황이 조금 복잡합니다.
iptables -t nat -A OUTPUT -d 10.0.0.200 -p tcp --dport 1521 \
-j DNAT --to-destination 127.0.0.1:65000
답변1
임시 해결 방법으로 데비안 컴퓨터에서 다음을 시도해 볼 수 있습니다.
iptables -A POSTROUTING -t nat -p TCP -s 192.168.1.6/32 -d 10.0.0.200/32 --dport 1521 -o eth0 -j SNAT --to-source 10.1.0.51
192.168.1.6 호스트나 라우터가 Debian 호스트로 패킷을 라우팅하는 방법을 알고 있는 한. 그런 다음 데비안 호스트는 소스를 자체 IP로 다시 작성하고 패킷을 10.0.0.200:1521 서버로 라우팅합니다. 따라서 서버 10.0.0.200:1521은 실제 소스 192.168.1.6이 아닌 IP 10.1.0.51의 연결만 볼 수 있습니다.
편집: 한 가지 더. Debian 시스템에서 전달이 활성화되어 있습니까? 확인: cat /proc/sys/net/ipv4/ip_forward 결과는 1이어야 합니다.