IPtables를 사용하여 VirtualBox vm1에서 vm2로 모든 네트워크 트래픽을 리디렉션하고 싶습니다. vm1의 모든 애플리케이션이 에이전트 친화적인 것은 아닙니다.
어떻게 해야 합니까?
답변1
VM1의 모든 트래픽이 VM2를 통해 라우팅되기를 원한다고 생각합니다. 이것이 맞다면 다음을 시도해 볼 수 있습니다.
- VM1 = 10.20.20.10/24(이더넷 0)
- VM2 = 10.20.20.20/24(이더넷 0) 및 192.168.20.10 (이더넷 1)
VM2도 NAT 어댑터를 통해 연결되어 있으므로이더넷 1, 기본 게이트웨이는 다음과 같습니다.192.168.20.1
호스트 전용 어댑터에 연결될 단일 NIC(eth0)로 VM1을 구성합니다.
2개의 NIC(eth0 및 eth1)로 VM2를 구성합니다. 하나는 VM1과 동일한 호스트 전용 어댑터에 연결되고 다른 하나는 NAT 어댑터(인터넷 액세스용)에 연결됩니다.
VM2에서 ip_forwarding 활성화
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables를 사용하여 VM2에서 매스커레이딩을 활성화할 수도 있습니다.
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
그런 다음 VM1의 기본 게이트웨이가 VM2를 가리키도록 설정합니다.
ip route add default via 10.20.20.20
결과가 만족스러우면 계속해서 변경해 보세요.