質問: 2つのインターフェース間でパケットを転送する方法は? 私のラップトップ(ubuntu 13.10を使用)は、有線__eth0_でip _192.168.42.13_を使用してインターネットに接続され、_wifi hotspot_で_wlan0_を使用してip _192.168.1.1_(apのセットアップにairbase-ngを使用しました)。これでandroidデバイスがそのwifiに接続する必要があります。私のandroidはhotspotに接続できます。セットアップしたdhcpサーバーから次のネットワーク設定を受け取ります(ツール呼び出しを使用しました) ネット情報ii playstoreから、私のandroidで以下の詳細を確認します)。_# my android network settings (connected to the wlan0 of my laptop): ip address: 192.168.1.10 subnetmask: 255.255.255.0 gateway : 192.168.1.254 ap-mac : xx:xx:xx:xx:xx:xx # my pc's eth0 configuration ip address: 192.168.42.13 submetmask: 255.255.255.0 gateway : 192.168.42.129 iface mac : yy:yy:yy:yy:yy:yy # my pc's wlan0 (hotspot interface) configuration ip address: 192.168.1.1 subnetmask: 255.255.255.0 gateway : 192.168.1.1 iface mac : zz:zz:zz:zz:zz:zz _このスレッド here は同様の問題について話します。ワイヤレスapのデバイスをインターネットに接続するには、_eth0_と_wlan0_ネットワーク間でパケットを転送する必要があることがわかりました。今 _wlan0 to eth0_および_eth0 to wlan0_から受信したパケットを転送して、デバイスをインターネットに接続するにはどうすればよいですか?
回答: まず、システムでip転送を有効にする必要があります。これを一度だけ行うには、sysctl -w net.ipv4.ip_forward=1 またはecho 1 > /proc/sys/net/ipv4/ip_forward ルートとして。永続化したい場合は、編集/etc/sysctl.conf を含む行を追加しますnet.ipv4.ip_forward = 1 これは再起動時または実行時に適用されますsysctl -p /etc/sysctl.conf これが完了したら、おそらくnat接続が必要です。ルーターが192.168.1.0/24ネットワークが192.168.42.13を介してアクセス可能であることを認識している可能性は低いためです。192.168.42.13が静的な場合、あなたは使うことができますiptables -t nat -a postrouting -i wlan0 -s 192.168.1.0/24 -j snat --to-source 192.168.42.13 それ以外の場合iptables -t nat -a postrouting -i wlan0 -s 192.168.1.0/24 -j masquerade 再起動時にこれらのルールを保存する方法については、 buntu iptableshowto を確認してください。