私のラップトップ(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 を確認してください。