ノートパソコンからアクセスしたいオシロスコープがあります。スコープにはLAN接続しかなく、ラップトップはWi-Fiに接続されています。スコープをモバイルにしたいので、スコープをWi-Fiルーターに接続できません。ラップトップとスコープ間の直接LAN接続は可能ですが、ラップトップのモバイル性が低下するため、望ましくありません。
スコープはRigolDS1054Zで、ブラウザーインターフェイスとLXIインターフェイスを備えています(おそらく python-vxi11 を使用します)。次の設定は機能しますが(ラップトップで実行されているブラウザーにIPを入力すると、スコープの内部サーバーにアクセスできます)、スコープはモバイルではなく、ルーターに関連付けられています。
Router---(Wifi)---Laptop
|---(LAN)----scope
そして、これは私がブラウザにスコープのIPを入力したときに私が得るものです:
スコープをモバイルにするには、スコープをRaspberry Piに接続し、スコープ用のワイヤレスインターフェイスを用意します。ネットワークは次のようになります。
Router - (Wifi)---Laptop
|--- [wlan0 RPi eth0] --- scope
私の全体的な目標を要約すると:
私が試したこと:piにbridge-utilsをインストールし、次の内容で/etc/network/interfaces.d/br0を追加しました。
auto br0
iface br0 inet dhcp
pre-up ifup wlan0
bridge_ports eth0 wlan0
bridge_fd 5
bridge_stp no
私が理解している限り(そしてネットワークの理解は非常に非常に基本的です)、これはwlan0とeth0をグロブアップし、魔法のようにスコープをネットワークに表示するはずです。
Piを再起動すると、br0が実際に稼働していることがわかります。
$ ifconfig
br0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:86:3c:ee txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether b8:27:eb:86:3c:ee txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<Host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2 bytes 78 (78.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2 bytes 78 (78.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.178.46 netmask 255.255.255.0 broadcast 192.168.178.255
ether b8:27:eb:d3:69:bb txqueuelen 1000 (Ethernet)
RX packets 70 bytes 9163 (8.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 57 bytes 9372 (9.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ルーターのデバイスリストにスコープが表示されません。まだ十分ではないと思います。そもそもブリッジアプローチは適していますか?
私の答えを編集してもっと便利にしました。
ブリッジが機能するとは思わない(デバイスはブリッジインターフェイスの使用方法を知らない)。
しかし、いくつかのグーグル検索は以下につながりました(それらはすべて同じセットアップを示唆しているようです):
1:変更を元に戻すようにしてください。
2:dnsmaskをインストールします
Sudo apt-get install dnsmasq
3:wpa_supplicant.confを編集して、piのwifiが自動的に接続されることを確認します。
須藤ナノ/etc/wpa_supplicant/wpa_supplicant.conf
ネットワークに一致するようにssidとパスワードを置き換えます。
network={
ssid="networkname"
psk="networkpassword"
}
4:「ブリッジ」を構成します
Sudo nano /etc/dhcpcd.conf
正しいインターフェース名を使用していることを確認してください。ifconfig
を呼び出すことでインターフェース名を見つけることができます。ルーターのネットワークが192.168.220.0ではないと仮定します。
注:ソースはeth0に言及し、wlan0で例を示しています!
このファイル内に次の行を追加する必要があります。eth0をイーサネットの正しいインターフェイスに置き換えてください。
interface wlan0
static ip_address=192.168.220.1/24
static routers=192.168.220.0
5:再起動
Sudo service dhcpcd restart
6:有線接続がワイヤレスアダプターを介してルーティングされていることを確認します
Sudo nano --backup /etc/dnsmasq.conf
--backup
は、元のファイル(dnsmasq.conf〜)のバックアップを作成することを保証します
interface=eth0 # Use interface eth0
listen-address=192.168.220.1 # Specify the address to listen on
bind-interfaces # Bind to the interface
server=8.8.8.8 # Use Google DNS
domain-needed # Don't forward short names
bogus-priv # Drop the non-routed address spaces.
dhcp-range=192.168.220.50,192.168.220.150,12h # IP range and lease time
7:トラフィックが転送されていることを確認します。
Sudo nano /etc/sysctl.conf
行のコメントを外す
#net.ipv4.ip_forward=1
取得するために
net.ipv4.ip_forward=1
再起動せずに変更を有効にします。
Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
8:eth0トラフィックをwlan0に転送するファイアウォールルールを追加します
Sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
Sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
変更を永続的にします。
Sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
9 :(再)起動後にルールをロードします。
Sudo nano /etc/rc.local
exit 0
の前に挿入
iptables-restore < /etc/iptables.ipv4.nat
10:dnsmasqを開始します:
Sudo service dnsmasq start
11:再起動
Sudo reboot
これらの手順は https://pimylifeup.com/raspberry-pi-wifi-bridge/amp/ からコピーされます
ブリッジの代わりにNATが必要です。Wifiステーションインターフェイスへのブリッジは機能しないと思います(Careyが言ったように)。
Router - (Wifi)---Laptop
|--- [wlan0 RPi eth0] --- scope
このように接続を設定した後、Piとスコープの間にNATネットワークを設定する必要があります。
NATネットワークをセットアップするには、スクリプトを導入させてください linux-router 。それは物事を作るように設計されています(dnsmasq
、iptables
、転送)人間にとっては簡単なので、手動で行う必要はありません(Aggの回答は、手動で行う方法をすでに提供しています)
Piで1つのコマンドを実行して、NATネットワーク:
# lnxrouter -i eth0
スクリプトは、Piとスコープの間にNAT network 192.168.18.0/24
をセットアップするために必要なすべての処理を実行します。Piのeth0
IPは192.168.18.1
です。
スコープが自動的にブートストラップされた後、そのスクリプトの出力からスコープのIP 192.168.18.x
を確認できます。
ラップトップからスコープにアクセスするには、wifiルーターにログインし、ルーティングテーブルを編集する必要があります。
192.168.18.0/24
ネットワークをPiのwlan0
IP経由でルーティングします(投稿する画像によると192.168.178.x
である必要があります)。
(wifiルーターにログインできない、またはログインしたくない場合は、ラップトップのルーティングテーブルの設定も機能します。LinuxとMacでは、ユーザーはルーティングテーブルをカスタマイズできますが、Windowsについてはわかりません。)
スコープの「WebインターフェイスとLXIインターフェイス」にアクセスするだけでよい場合は、Piでリバースプロキシを設定できるため、ルーティングテーブルを編集する必要はありません。
Web用のポート80と、スコープ上で開いているLXI用の別のポートが必要です。 Piで2つのポートを開いて、スコープ上のポートにトラフィックをリバースプロキシします。したがって、ラップトップはPiのwlan0
IPとポートを入力してスコープにアクセスできます。
スコープがIPの手動設定(またはIPv6リンクローカルfe80::
アドレス)をサポートしている場合は、PiでDHCPまたは転送を設定する必要はありません。
リバースプロキシは次のようなものです。
laptop-->--(Port A)Pi-->--(web)scope
laptop-->--(Port B)Pi-->--(LXI)scope
この解決策は友人によって提案され、それほど面倒なことなく機能しました。
ssh
というファイルをブートパーティションに配置します)wpa_supplicant.conf
を配置します)/etc/dhcpcd.conf
でeth0の静的IPを設定します。
interface eth0
static ip_address=192.168.220.1/24
static routers=192.168.178.1
dhcpcd
を再起動します:
Sudo service dhcpcd restart
/etc/sysctl.conf
で、行のコメントを解除してIPv4転送を有効にします
#net.ipv4.ip_forward=1
取得するため
net.ipv4.ip_forward=1
適用:
Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
この手順の後で再起動しましたが、それが厳密に必要かどうかは100%わかりません。
スコープは、新しいサブネットで静的IPを取得します。これは、マニュアルで説明されているように、スコープのユーティリティメニューで構成できます。
これらの手順がどのように行われるかは、ルーターによって異なります。
wlan0
に常に同じアドレスを与えるように構成されています。この場合、192.168.178.46
。別の方法として、静的IPをRPiのwlan0
に割り当てます。192.168.220.0
(RPiの255.255.255.0
)を介して、192.168.178.46
、サブネットマスクwlan0
へのルートを追加します。ネットワークがwifiルーターのwifiにある限り、ネットワークに関しては何もしません。
私は https://pypi.org/project/ds1054z/ を使用して次のことを行いました
私はあなたに完璧な答えを持っていませんが、私はあなたをそれに導くのを手伝うことができます...
いくつかの答えは、あなたがやりたいことが不可能であることを示唆しています。それは間違っています、それは非常に可能です。下部のリンクと同様の指示を使用する前に、これを実行しました。
つまり、ネットワークプロトコルを処理するための追加のツールが必要です。parprouted
dhcp-helper
およびavahi-daemon
私は現在これに取り組んでいるので、これら3つのツールの目的を理解したら、この回答を改善します。
編集:「RaspberryPi Wi-Fiインターネット共有」などを検索すると、より良い結果が得られることがわかりました(技術的には通常の意味でブリッジを作成していないため、「ブリッジ」という単語を完全に省略します)。
Edit2:追加のリンクと元のリンクをここの下に移動...
https://raspberrypi.stackexchange.com/questions/106149/wifi-to-ethernet-bridge
https://github.com/arpitjindal97/raspbian-recipes/blob/master/wifi-to-eth-bridge.sh
https://docs.slackware.com/howtos:network_services:wifi_to_eth_bridge_routing