web-dev-qa-db-ja.com

RaspberryPiイーサネットに接続されているデバイスをWiFiネットワークに接続します

私はネットワーキングについてもっと学ぶという使命を始めたばかりで、チュートリアルに従いました( http://raspberrypihq.com/how-to-turn-a-raspberry-pi-into-a- wifi-router / )RaspberryPiをwifiルーターに変えます。

それは本当にうまくいったので、インターネット接続にテザーiphoneを使用できるように少し変更しました-すべての「eth0」参照を「eth1」(iphoneインターフェイス)に切り替え、電話時にすべてを設定するスクリプトを追加しましたプラグインされています。

この設定により、Piのイーサネットポートが解放されたので、これをさらに一歩進めて、それに接続されているデバイスがネットワークに接続できるようにしたいと思います。可能であれば、複数のデバイスを接続できるようにスイッチを追加してみたいと思います。

運が悪かったので、natとiptablesをいじってみたので、質問は、eth0上のデバイスをwlanネットワークに接続するにはどうすればよいですか?


編集:

以下のいくつかの追加情報。これらは、電話が接続された後のものです。

iptables -t nat -Lからの出力:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere

netstat -rnからの出力:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.20.10.1     0.0.0.0         UG        0 0          0 eth1
172.20.10.0     0.0.0.0         255.255.255.240 U         0 0          0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 wlan0

編集2:

以下は私のdhcpd.confファイルにあります:

subnet 192.168.10.0 netmask 255.255.255.0 {
 range 192.168.10.10 192.168.10.200;
 option broadcast-address 192.168.10.255;
 option routers 192.168.10.1;
 default-lease-time 600;
 max-lease-time 7200;
 option domain-name "local-network";
 option domain-name-servers 8.8.8.8, 8.8.4.4;
}

dhcpはwlan0で実行するように構成されています-/ etc/default/isc-dhcp-server:

INTERFACES="wlan0"
4
Tom

厳密に言えば、他に多くのことは必要ありません。私はあなたがすでにIPv4転送を有効にしていると思います、そしておそらくこのルールも:

  iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

これにより、NATすべての接続が可能になります。次に、ルーティングテーブルに

  ip route add default via IP_ADDRESS_OF_YOUR_PHONE

それもおそらくすでに持っています。その後、あなたは行ってもいいです。

編集:

ルーティングテーブルを投稿したので(ただし、* ifconfig、route、...などの廃止された廃止されたコマンドは使用しないでください。たとえば、ルーティングには ip コマンドのみを使用してください。 tableip route show、インターフェイスのアドレスを確認するにはip addr show、...)お持ちでないようですイーサネットポートクライアントへのルート。 IPアドレスポートケーブル接続クライアントを引き出すネットワークが192.168.20.0/24の場合、以下を追加する必要があります。

   ip route add 192.168.20.0/24 dev eth1

ワイヤレスクライアントとケーブルクライアントに同じネットワークを使用しないでください。

さらにdhcpdを構成する必要がある場合は、前と同じファイル/etc/dhcp/dhcpd.confを編集して、新しいネットワークを追加します。

  subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.10.1;
range 192.168.10.100 192.168.10.200;
}

subnet 192.168.20.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.20.1;
range 192.168.20.100 192.168.20.200;
}

ファイル/ etc/default/isc-dhcp-serverで、行INTERFACES = "wlan0"を次のように変更します。

 INTERFACES="wlan0 eth0"

最後に、ルーターにeth0NICの適切なアドレスを指定します。

 ip link set dev eth0 down
 ip addr flush dev eth0
 ip addr add 192.168.20.1/24 dev eth0
 ip link set dev eth0 up

Dhcpを再起動します。大丈夫です。

3
MariusMatutiae