有線イーサネットを介して2台のローカルマシンを相互に接続しており、そのうちの1台はインターネットアクセスを提供するwifiネットワークにも接続されています。
トポロジの疑似グラフィック表現は次のとおりです。
(PC2)----------(PC1)---------(Wifi Gateway)
192.168.2.x 10.0.0.x
PC2の構成は次のとおりです。
iface eth0 inet static
address 192.168.2.2
network 192.168.2.0
netmask 255.255.255.0
gateway 192.168.2.1
...そしてPC1の構成は次のとおりです。
iface eth0 inet static
address 192.168.2.1
network 192.168.2.0
netmask 255.255.255.0
gateway 192.168.2.1
PC1では、インターネットにアクセスできなかったため、wlan0のデフォルトルートを追加しました。
route add default gw 10.0.0.1 wlan0
また、以下を使用して192.168.2.xネットワークのゲートウェイを設定してみました。
route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.0.0.1
しかし、私はまだPC2からインターネットにアクセスできません。
編集
Wi-Fiゲートウェイにアクセスできません。
PC1 eth0インターフェイスにゲートウェイを定義しないでください。これはデフォルトルートを設定するのと同じです。したがって、追加のデフォルトルートを10.0.0.1に設定すると、パケットの半分が間違った方向に進みます。
PC1がPC2のルーターとして機能するには、パケット転送を有効にする必要があります。これは次のように有効にできます。
Sudo sysctl -w net.ipvt.ip_forward=1
再起動後も存続させるには、/etc/sysctl.conf
を変更し、find thelineを追加します。
#net.ipv4.ip_forward=1
コメントを外します(または、存在しない場合は追加するか、存在するが1
に設定されている場合は0
に変更します)
最後に、10.0.0.1のwifiゲートウェイを変更し、静的ルートを追加する必要があります。たとえば、192.168.2.0/24ネットワークのゲートウェイは10.0.0.0/24の範囲のPC1IPアドレスです(おそらく10.0だと思います)。 .0.2)。
ああ、あなたが追加したところはどこでも
route add -net 192.168.2.0 netmask 255.255.255.0 gw 10.0.0.1
あなたが望むのは、PC1のインターネット接続を(マスカレードを使用して)共有することです。
あなたはそれをするためにオンラインでたくさんのガイドを見つけることができます、しかしここに要約があります:
まず、既存のファイアウォールルールをフラッシュして削除します。
iptables -F
iptables -t nat -F
iptables -X
iptables -t nat -X
次に、iptablesをNAT translation:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
起動時にipテーブルが確実に復元されるようにするには、iptables-save | tee /etc/iptables.sav
を実行して/etc/rc.local
を編集し、「exit0」行の前に次の行を追加します。iptables-restore < /etc/iptables.sav
IP転送を有効にする:
echo 1 > /proc/sys/net/ipv4/ip_forward
Ubuntuでは、/etc/sysctl.conf
を編集してコメントを解除する必要もあります。
#net.ipv4.ip_forward=1
PC2では、次のことも行う必要があります。
ip route add default via 192.168.2.1