私のラップトップからオシロスコープにアクセスしたいです。スコープにはLAN接続のみがあり、ラップトップはWiFiに接続されています。オシロスコープをモバイルで使用したいので、オシロスコープをWi-Fiルーターに接続できません。ラップトップとオシロスコープの間の直接LAN接続は可能ですが、ラップトップのモビリティを減らすので理想的ではありません。
オシロスコープは、ブラウザインタフェースとLXIインタフェースを備えたRigol DS1054Zです(おそらくPython-vxi11)。次の設定は機能しますが(ノートブックで実行されているブラウザにスコープのIPを入力すると、スコープの内部サーバーにアクセスできます)、スコープはモバイルではなくルータにテザリングされます。
Router---(Wifi)---Laptop
|---(LAN)----scope
オシロスコープのIPをブラウザに入力すると、次の結果が表示されます。
オシロスコープをモバイルにするためにRaspberry Piに接続し、オシロスコープにワイヤレスインターフェイスを提供したいと思います。ネットワークは次のとおりです。
Router - (Wifi)---Laptop
|--- [wlan0 RPi eth0] --- scope
私の全体的な目標をまとめると、次のようになります。
- 通常のLANケーブルを使用してオシロスコープをRaspberry Piに接続します。
- eth0 と wlan0 インターフェイス間のブリッジとして pi を設定します。
- 私のWi-Fiルーター(DHCP)が範囲にIPアドレスを割り当てるようにします(オプションかもしれません)。
- 私のラップトップからオシロスコープに接続する
私が試したこと: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をglobし、魔法のようにネットワークに範囲を表示する必要があります。
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
私の答えをもっと便利に編集しました。
ブリッジが機能しないようです(あなたのデバイスがブリッジインターフェイスをどのように使用するかわかりません)。
ただし、一部のインターネット検索結果は次のとおりです(すべて同じ設定を提案しているようです)。
1: 変更が元に戻されたことを確認します。
2: DNSマスクのインストール
sudo apt-get install dnsmasq
3:wpa_supplicant.confを編集して、PyのWi-Fiが自動的に接続されていることを確認してください。
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
ネットワークと一致するようにssidとパスワードを交換してください。
network={
ssid="networkname"
psk="networkpassword"
}
4: 「ブリッジ」構成
sudo nano /etc/dhcpcd.conf
正しいインターフェース名を使用していることを確認してください。を呼び出してインターフェイス名を見つけることができますifconfig
。ルータネットワークが192.168.220.0ではないと仮定します。
メモ:言及されたソースイーサネット0、そして例を提供してください無線LAN 0!
このファイルに次の行を追加して、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/
答え2
ブリッジングではなくNATが必要です。ブリッジされたWi-Fiステーションインターフェースが機能しないようです(Careyが言ったように)。
1.
Router - (Wifi)---Laptop
|--- [wlan0 RPi eth0] --- scope
このように接続を確立したら、Piとスコープの間にNATネットワークを設定する必要があります。
NATネットワークを設定するには、スクリプトを紹介します。Linuxルーター。人々が(dnsmasq
、将来的に)作業を簡単に実行できるように設計されているため、iptables
手動で行う必要はありません。 (Aggの答えはすでに手動で行う方法を提供します)
Piでコマンドを実行してNATネットワークを設定します。
# lnxrouter -i eth0
192.168.18.0/24
このスクリプトは、Piと範囲の間にNATネットワークを設定するために必要なすべてのタスクを実行します。 Piのeth0
IPは192.168.18.1
192.168.18.x
スコープが自動的に起動した後、このスクリプトの出力に範囲のIPを表示できます。
2.
ラップトップから範囲にアクセスするには、WiFiルーターにログインしてルーティングテーブルを編集する必要があります。
192.168.18.0/24
PiのIPを介してネットワークをルーティングします(公開した画像に基づいている必要がwlan0
あります)。192.168.178.x
(Wi-Fiルーターにログインできない場合、またはログインしたくない場合は、ラップトップのルーティングテーブルを設定することもできます。LinuxとMacでは、ユーザーはルーティングテーブルをカスタマイズできますが、Windowsは不明です。)
三。
オシロスコープの「WebインターフェイスとLXIインターフェイス」にのみアクセスする必要がある場合は、Piでリバースプロキシを設定してルーティングテーブルを編集する必要はありません。
Web用のポート80とオシロスコープのLXI用のポートがそれぞれ必要です。 Piに2つのオープンポートを設定して、範囲内のポートへのプロキシトラフィックを逆方向に設定します。したがって、ラップトップはwlan0
PiのIPとポートを入力して範囲にアクセスできます。
スコープがIP(またはIPv6リンクローカルfe80::
アドレス)の手動設定をサポートしている場合は、PiでDHCPまたは転送を設定する必要はありません。
リバースプロキシは次のとおりです。
laptop-->--(Port A)Pi-->--(web)scope
laptop-->--(Port B)Pi-->--(LXI)scope
答え3
このソリューションは友人が提案し、大きな問題なしに機能しました。
概要
ラズベリーパイの設定
- Raspbian Stretch lite 2018-11-13の再ダウンロードを開始しました。
- SSHを有効にする(
ssh
起動パーティションに名前が付けられたファイルの配置) - Wi-Fi設定(
wpa_supplicant.conf
起動パーティションに適切なWi-Fiを挿入する) eth0の固定IPを設定します
/etc/dhcpcd.conf
。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"
この段階の後に再起動もしましたが、これが必ず必要かどうかわかりません。
オシロスコープの設定
スコープは新しいサブネットから固定IPを取得します。これは、マニュアルで説明されているように、オシロスコープのユーティリティメニューを使用して設定できます。
ルーターの設定
この手順を完了する方法は、ルーターによって異なります。
- ルータのDHCPは常にRPiに
wlan0
同じアドレスを提供するように設定されます。この場合は192.168.178.46
。またはRPiに静的IPを割り当てますwlan0
。 - (RPiの)
192.168.220.0
サブネットマスクを介して追加されたパス。255.255.255.0
192.168.178.46
wlan0
ノートパソコンの設定
ネットワークとは何の関係もなく、Wi-FiルーターのWi-Fiに接続する必要があります。
使ったhttps://pypi.org/project/ds1054z/以下を実行してください
スクリーンショット:
答え4
完璧な答えはありませんが、見つけるのに役立ちます。
いくつかの答えは、あなたがしたいことが不可能であることを示唆しています。これは間違っています。完全に可能です。下部にリンクされているものと同様のガイドラインを使用する前に、これを行いました。
つまり、ネットワークプロトコルを処理するには追加のツールが必要です。
parprouted
dhcp-helper
そしてavahi-daemon
私は現在この作業を進めていますので、この3つのツールの用途を理解すればこの答えを改善します。
編集:「raspberry pi Wi-Fi Internet share」または同様の検索がより良い結果を提供することがわかりました(技術的に一般的な意味ではブリッジを生成しないため、「ブリッジ」という単語を完全に省略します)。
編集2:リンクを添付して元のリンクを下に移動します...
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