내 노트북에서 오실로스코프에 액세스하고 싶습니다. 스코프에는 LAN 연결만 있고 노트북은 WiFi에 연결되어 있습니다. 오실로스코프를 모바일로 사용하고 싶기 때문에 오실로스코프를 Wi-Fi 라우터에 연결할 수 없습니다. 랩탑과 오실로스코프 사이의 직접 LAN 연결이 가능하지만 랩탑의 이동성을 감소시키므로 이상적이지는 않습니다.
오실로스코프는 브라우저 인터페이스와 LXI 인터페이스를 갖춘 Rigol DS1054Z입니다(아마도파이썬-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를 편집하여 파이의 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, 그리고 예시를 제공하세요무선랜 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 네트워크를 설정하려면 스크립트를 소개하겠습니다.리눅스 라우터. 사람들이 ( 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는 확실하지 않습니다.)
삼.
오실로스코프의 "웹 인터페이스 및 LXI 인터페이스"에만 액세스해야 하는 경우 Pi에서 역방향 프록시를 설정하면 라우팅 테이블을 편집할 필요가 없습니다.
웹용 포트 80과 오실로스코프의 LXI용 포트가 각각 있어야 합니다. Pi에 두 개의 열린 포트를 설정하여 범위의 포트에 대한 프록시 트래픽을 역방향으로 설정합니다. 따라서 노트북은 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