概要

概要

私のラップトップからオシロスコープにアクセスしたいです。スコープには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のeth0IPは192.168.18.1

192.168.18.xスコープが自動的に起動した後、このスクリプトの出力に範囲のIPを表示できます。

2.

ラップトップから範囲にアクセスするには、WiFiルーターにログインしてルーティングテーブルを編集する必要があります。

192.168.18.0/24PiのIPを介してネットワークをルーティングします(公開した画像に基づいている必要がwlan0あります)。192.168.178.x

(Wi-Fiルーターにログインできない場合、またはログインしたくない場合は、ラップトップのルーティングテーブルを設定することもできます。LinuxとMacでは、ユーザーはルーティングテーブルをカスタマイズできますが、Windowsは不明です。)

三。

オシロスコープの「WebインターフェイスとLXIインターフェイス」にのみアクセスする必要がある場合は、Piでリバースプロキシを設定してルーティングテーブルを編集する必要はありません。

Web用のポート80とオシロスコープのLXI用のポートがそれぞれ必要です。 Piに2つのオープンポートを設定して、範囲内のポートへのプロキシトラフィックを逆方向に設定します。したがって、ラップトップはwlan0Piの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.0192.168.178.46wlan0

ノートパソコンの設定

ネットワークとは何の関係もなく、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

https://raspberrypi.stackexchange.com/questions/88954/workaround-for-a-wifi-bridge-on-a-raspberry-pi-with-proxy-arp/88955#88955

関連情報