コマンドラインを使用してイーサネットへのWLAN接続を共有する

コマンドラインを使用してイーサネットへのWLAN接続を共有する

LAN(Ethernet - eth0経由)の他のコンピュータと共有したいwlan1接続があります。これは一時的な解決策なので、これを達成したいと思います。スクリプトを通して、ホストのネットワーク設定ファイルに触れないようにします(つまり、必要に応じて再起動するたびにこのスクリプトを実行します)。

問題はwlan1とeth0を接続できません。

sudo brctl addif br0 eth0 wlan1

必要な人を見る4つのアドレスを有効にする:

 iw dev wlan1 set 4addr on

実際、ブリッジにwlan1を追加できますが…Wi-Fi接続が失われました!見ましたが、これも一般的な問題:(存在する2、ソリューションは次のように言います。

iw dev wlan0 interface add wds.wlan0 type managed 4addr on
ip link set dev wds.wlan0 addr $ADDR
ip link set dev wds.wlan0 up

ここで、 $ADDR は「ルーターに構成された WDS 装置アドレス」です。それは何か理解できませんか?私のwlan1ネットワークカードのMACアドレスは何ですか?では、どのようにブリッジを作成できますか?以下は機能しません:

sudo brctl addbr br0
sudo brctl addif br0 eth0 wds.wlan0

またはここ、インストールをお勧めしますebtables。しかし、ページではブリッジをどのように作成するのか説明せず、/etc/network/interfaces私がしたくないことを修正します。

だから、誰かが私がその足を正しく作るのを助けることができますか?

これまでのところ、私のWi-Fiスクリプトは次のとおりです。

 #!/bin/bash
 # this is for wlan1 - wifi connection
 pkill dhclient
 pkill wpa_supplicant
 ip link set dev wlan1 down
 ip addr flush dev wlan1
 iwconfig wlan1 essid "mywifi"
 iwconfig wlan1 frag 2432
 iwconfig wlan1 rts 2432
 ip link set dev wlan1 up   
 iwconfig wlan1 rate 1M
 dhclient -v wlan1

 # this is my IP address on my LAN
 ifconfig eth0 192.168.0.8 netmask 255.255.255.0

私はLinux Mint 17.1ホストを実行しています。私はそれをインストールしましたbridge-utils

答え1

ブリッジ部分を迂回して使用できますかiptables

その場合は、ソースNATを設定してWLANインターフェイスからのトラフィックを偽装できます。

まず、IP転送を有効にする必要があります。

echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

次に、発信トラフィックを偽装する必要があります。

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

LANに接続されているホストは192.168.0.8をデフォルトゲートウェイとして使用し、コンピュータはwlan0インターフェイスに接続されたゲートウェイをデフォルトゲートウェイとして使用します。

関連情報