2つのイーサネットポートを持つ仮想マシン(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
- 例えば
- 作る足2つのインターフェースがあります
- 例えば
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
- 例えば
残念ながら何も動作しません。おそらく、これらのコマンドと構成のメカニズムと基本的なネットワーク制限を理解していないからです。