
나는 다음과 같은 설정을 가지고 있습니다 :
Box A
eth0 - 192.168.1.101
eth1 - 10.10.2.1
Box B
eth0 - 10.10.2.2
Box A는 eth0을 통해 인터넷에 액세스할 수 있습니다. Box B가 192.168.1.0/24 네트워크에 표시되도록 하여 다른 상자에서 직접 SSH를 통해 연결할 수 있도록 하고 싶지만 Box A도 사용할 수 있어야 합니다.
Box A에서 eth0에 가상 IP를 생성한 다음 모든 트래픽을 Box B로 전달하는 방법을 생각했습니다.
ifconfig eth0:0 192.168.1.102
iptables -t nat -A PREROUTING -i eth0:0 -j DNAT --to-destination 10.10.2.2
하지만 그건 작동하지 않는 것 같습니다.
또한 IP 전달이 활성화되어 있으며 Box B는 다음과 같은 인터넷에 액세스할 수 있습니다.
iptables -t nat -A POSTROUTING -j MASQUERADE
답변1
네트워크 의 기본 게이트웨이에 고정 경로를 추가하여 이에 접근합니다 192.168.1.0/24
. 즉, 10.10.2.0/24
네트워크의 모든 패킷이 노드를 통해 라우팅된다는 의미입니다 192.168.1.101
.
그런 다음 에서 IP 전달을 활성화해야 합니다 192.168.1.101
.
그런 다음 Box B를 192.168.1.0/24
통해 경로를 추가해야 합니다 .10.10.2.1
10.10.2.x
이렇게 하면 두 네트워크 모두에서 및 주소를 사용할 수 192.168.1.x
있으며 모든 트래픽은 네트워크 간에 라우팅됩니다.
답변2
가상 인터페이스를 에 대한 인수로 사용할 수 없습니다 -i
. 대신에 목적지를 사용하는 것이 비결입니다.주소:
iptables -t nat -A PREROUTING -d 192.168.1.102 -j DNAT --to-destination 10.10.2.2