2개의 인터페이스 카드가 있는 Ubuntu 16.04 데스크탑이 있습니다. Windows 시스템에서 Ubuntu 시스템의 enp6s0 인터페이스로 트래픽을 라우팅하려고 합니다. 이더넷 케이블을 사용하여 Windows 시스템과 Ubuntu 16.04를 연결했습니다.
Ubuntu 시스템의 물리적 인터페이스에서 동일한 트래픽을 docker0(172.17.0.1) 및 docker 컨테이너(172.17.0.2)로 전달하고 싶습니다.
현재 설정에 따르면* Docker 컨테이너가 있습니다.- 다리이렇게 하면 2개의 인터페이스가 있습니다. eth1은 ns3 프로젝트 IP 주소를 기반으로 구성됩니다.
root@c246ffcf5054:~# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:107 errors:0 dropped:0 overruns:0 frame:0
TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12491 (12.4 KB) TX bytes:1802 (1.8 KB)
eth1 Link encap:Ethernet HWaddr 12:34:88:5d:61:bd
inet addr:10.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1066938 errors:0 dropped:0 overruns:0 frame:0
TX packets:1432799 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1169075120 (1.1 GB) TX bytes:2534973873 (2.5 GB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:151 errors:0 dropped:0 overruns:0 frame:0
TX packets:151 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:12768 (12.7 KB) TX bytes:12768 (12.7 KB)
Ubuntu 시스템에는 다음과 같은 IP 주소가 있습니다.
docker0 Link encap:Ethernet HWaddr 02:42:fd:06:5f:68
inet addr:172.17.0.1 Bcast:172.17.255.255 Mask:255.255.0.0
inet6 addr: fe80::42:fdff:fe06:5f68/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25096 errors:0 dropped:0 overruns:0 frame:0
TX packets:47902 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1342650 (1.3 MB) TX bytes:76227846 (76.2 MB)
enp5s0 Link encap:Ethernet HWaddr 68:05:ca:26:6f:0a
inet addr:192.168.0.16 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: 2601:641:481:2020:6a05:caff:fe26:6f0a/64 Scope:Global
inet6 addr: fe80::6a05:caff:fe26:6f0a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:193989 errors:0 dropped:0 overruns:0 frame:0
TX packets:109541 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:216544575 (216.5 MB) TX bytes:12131093 (12.1 MB)
Interrupt:16 Memory:fbce0000-fbd00000
enp6s0 Link encap:Ethernet HWaddr f4:6d:04:1a:76:40
inet addr:192.168.100.3 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::f66d:4ff:fe1a:7640/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10064 errors:0 dropped:0 overruns:0 frame:0
TX packets:4933 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:798388 (798.3 KB) TX bytes:504172 (504.1 KB)
Interrupt:18
Ubuntu 시스템과 Docker 컨테이너 모두에서 Windows 시스템을 ping할 수 있습니다. docker 0
아래 iptable을 사용하여 Windows 컴퓨터에서 핑 및 도커 컨테이너를 사용할 수 있습니다 . 하지만 docker conatiner에서 tcpdump를 실행하면 트래픽이 없습니다. 누구든지 이 문제를 해결하도록 도와줄 수 있나요? 감사합니다!
iptables -t nat -I PREROUTING -i enp6s0 -p tcp -j DNAT --to-destination 172.17.0.1