私は完全に迷子になった。私はLinuxネットワーキングの真の初心者です。
私が達成したいもの:
bobstroが言ったように、Wi-Fiに接続されたUPnPカメラがWi-Fiネットワーク間で移動できるようにしたいと思います。 RPIはこれらのネットワークに接続され、カメラはRPiに接続されます。ただし、RPiはアクセスポイントではありません。 TCPまたはWebソケットを介してサーバーに接続し、カメラを介して写真を撮るように指示されます。その後、websocketまたはTCPを介してイメージを再送信します。
私の状況:
私のRaspberry Piには、eth0、wlan0、wlan1(2つのWi-Fi USBアダプタ)の3つのインターフェースがあります。
wlan1はSSDP経由でWi-Fiカメラに接続するために使用されます。
wlan0は、サーバー(既知のIP /ドメイン名)へのTCP接続を確立するために使用されます。 DHCP経由で接続しているWi-Fiネットワークwlan0については何もわかりません。随時変更されることがあります。ゲートウェイについては具体的にはわかりません。
eth0 は SSH アクセスをデバッグするために使用されます。たとえば、MacBook Air を使用して共有サービスに接続します。
Server <---> Internet <--wlan0--> RPI <--wlan1--> Camera
|
etho
|
Macbook
現在、これらのインターフェイスはオンラインです。以下は出力ですifconfig
(wlan1とeth0は同じネットワーク上にありますが、将来はそうではありません)。
eth0 Link encap:Ethernet HWaddr b8:27:eb:8c:e2:10
inet addr:192.168.0.19 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1174 errors:0 dropped:0 overruns:0 frame:0
TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:93616 (91.4 KiB) TX bytes:12342 (12.0 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr c0:4a:00:2a:ab:6c
inet addr:192.168.43.44 Bcast:192.168.43.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5 errors:0 dropped:0 overruns:0 frame:0
TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1142 (1.1 KiB) TX bytes:1145 (1.1 KiB)
wlan1 Link encap:Ethernet HWaddr 74:da:38:0c:c6:f0
inet addr:192.168.2.2 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
TX packets:155 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:222449 (217.2 KiB) TX bytes:29711 (29.0 KiB)
出力は次のとおりですsudo route -n
。
0.0.0.0 192.168.0.254 0.0.0.0 UG 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan1
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.43.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
そしてここ/etc/network/interfaces
:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
post-up route del default dev wlan0
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "wifi1"
wpa-psk "psw1"
auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
wpa-ssid "wifi2"
wpa-psk "pwd2"
過去24時間に読んだ内容を正しく理解したら、ルーティング作業を行う必要があります。しかし、私は何を理解していません。
デフォルトパスを変更する必要がありますか?それでは、ネットワークに接続する前にwlan0またはwlan1のゲートウェイがわからないので、どうすればよいですか?解決できない問題ですか?
この投稿は重複している可能性がありますが、昨日から役に立つものが見つからなかったため、元の投稿を見つけるには最小限の支援が必要です。 :)
編集:Goldilocksが述べたように、私の質問は広範囲です。本当に申し訳ありません。私はネットワーキングについて何も知りません。これをより具体的な質問に分ける方法がわかりません。
したがって、おそらく最初の失敗した試みは次のようになります。
sudo ip route del default
デフォルトのeth0ゲートウェイを削除してみました。これでコマンドはsudo ip route add default dev wlan0
機能しますが、次のルーティングテーブルが作成されます。
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 wlan0
そして私はRaspberry Piがwlan0 Wi-FiルーターIP(わかりません。変更される可能性があります)を見つけてゲートウェイとして使用したいと思います。これは良い最初のステップになります。
編集2:wlan1は現在ネットワーク192.168.2.xにあります。
ベストアンサー1
この問題にアクセスする方法に関連する部分的な回答を提供することができますが、注意すべき点は、起動時にネットワーク構成サービスを使用せずに目的のタスクを実行するためにスクリプトを直接作成することです。
つまり、これをテストするには、除外した/etc/network/interfaces
すべての項目をコメントアウトし、lo
後者wlan0
をDHCPのデフォルトパスとして使用します。これは、システムがこのように起動されることを意味します。この設定はあなた自身を見つけるでしょうが、注意することの1つは、このサブネットマスクが他のサブネットマスクと競合しないことを知る必要があることです。これらすべてが違うはずです。あなたが制御することができるか、事前に知っている2つの方法があります。
1つ目はSSDPカメラサブネットです。ここでの問題の1つは、dhclient
すでにwlan0でリースを維持している場合にリースを構成することです。これは簡単だと思うかもしれませんが、見てみると必ずしもそうではありません。あなたはできますこの試みしかし、私の考えでは、潜在的に複雑ではない2つの解決策があるようです。
- 静的IPを使用してください。これは間違いなく最も簡単で最も確実な方法です。
dhcpcd
を代わりに使用しますdhclient
。どうすればいいかわかりませんが、可能なようです。
固定IPを使用すると、ハードコーディングも可能で、使いやすくなります。このサブネットが192.168.0.0/24
192.168.0.101 で、IP が 192.168.0.101 であると仮定します。
ip link set wlan1 up
wpa_supplicant -B -c /path/to/essid/config -i wlan1
ip addr add 192.168.0.101 dev wlan1
ip route add 192.168.0.0/24 via 192.168.0.101
これにより、Macへのeth接続はほぼ同じです。〜しなければならない使いやすい固定IP:
ip link set eth0 up
ip addr add 192.168.1.10
ip route add 192.168.1.0/24 via 192.168.1.10