私には eth0 と wlan0 という 2 つのインターフェースがあります。wlan0 では WAN にアクセスできる AP に接続し、AP から DHCP 経由で IP アドレスを受け取ります。
2 番目のインターフェースは eth0 です。私は、eth0 経由でそのサブネットに接続されているすべてのクライアントに異なるサブネット IP アドレスを配布する DHCP サーバーを使用してこれを構成しました。
私のクライアントデバイス (スマートフォン) は、eth0 DHCP サーバーから IP アドレスを正しく取得しています。
しかし、現在 eth0 を wlan0 に接続するのに苦労しています。
eth0 ネットワークは 192.168.42.0/24 です。両方の NIC を持つ私の PC は 192.168.42.1 を使用します。wlan0 からの私の IP アドレスは 172.22.3.193 とします。
すでに IPv4 転送を有効にしましたが、成功しませんでした。携帯電話にはインターネット接続がないと表示されますが、eth0 には接続できます。転送を機能させるには、特定の iptables ルールを設定する必要があるようですが、ネットで見つけたさまざまな方法を試しましたが、どれも機能しません。
次に何をすべきか、何かアイデアはありますか?
編集: 私のルート コマンドは次のように出力します:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default www.go.wlantick 0.0.0.0 UG 600 0 0 wlan0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.22.0.0 0.0.0.0 255.255.0.0 U 600 0 0 wlan0
192.168.42.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
答え1
Linux サーバーを NAT ルーターとして設定するには、次の手順を実行する必要があります。
すでに行ったようにIP転送を有効にします(これは将来のリマインダーのみです)。
/etc/sysctl.conf
net.ipv4.ip_forward=1
wlan0
iptables を使用して NAT を有効にします。外部インターフェイスがある次のコマンドを実行してください。iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables ルールは再起動時にリセットされることに注意してください。その後、iptables の再構成を自動化する必要があります。