두 개의 이더넷 포트가 있는 가상 머신(Debian)이 있습니다. NIC는 eth0
완전한 인터넷 액세스를 통해 더 넓은 세상과 연결됩니다.
192.168.0.3 Static: 10.0.0.1
+-------+ +------------------------+
| world |--| eth0 | computer | eth1 |
+-------+ +------------------------+
eth1
동일한 네트워크 장치에 computer
고정 IP가 있습니다. dnsmasq
이 인터페이스를 사용하여 실행합니다 eth1
. DHCP와 DNS를 처리하며 다운스트림 클라이언트는 IP 주소를 연결하고 얻을 수 있습니다.
DHCP: 192.168.0.3 Static: 10.0.0.1
+-------+ +------------------------+
| world |--| eth0 | computer | eth1 |
+-------+ +------------------------+ DHCP: 10.0.0.x
| +--------+
+-------------|client 1|
| +--------+
| +--------+
+-------------|client 2|
+--------+
이 모든 것이 예상대로 작동합니다.와는 별개로인터넷에 접속할 수 client 1
없습니다 . 과 가 client 2
가능 하지만 업스트림은 없습니다. , , 등을 ping할 수 없습니다 .ssh
ping
10.0.0.1
192.168.0.3
1.1.1.1
google.com
10.0.0.x
이 구성을 유지하면서 클라이언트가 인터넷에 연결되도록 하려면 어떻게 해야 합니까 ?
나는 노력했다 ...
- 다양한 방법경로 추가인터페이스하다
- 예를 들어
ip route add 192.168.0.3 via 10.0.0.1 dev eth1
- 예를 들어
- 만들다다리두 개의 인터페이스가 있습니다
- 예를 들어
ip link add name br0 type bridge ; ip link set eth0 up ; ip link set eth1 up ; ip link set eth0 master br0 ; ip link set eth1 master br0 ; ip link set br0 up
- 예를 들어
iptables
트래픽을 라우팅하는 데 사용됨- 예를 들어
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
- 예를 들어
불행히도 아무것도 작동하지 않습니다. 아마도 이러한 명령과 구성의 메커니즘과 기본 네트워크 제한 사항을 잘 이해하지 못하기 때문일 것입니다.