Raspberry Pi를 컴퓨터의 USB 포트에 연결할 때마다 항상 Linux Mint 컴퓨터에 대한 연결을 공유로 설정해야 합니다. 스크린샷(그리스어 UI)에 표시된 대로 네트워크 관리자를 통해 이 작업을 수행합니다.
SSH 연결을 위해 공유된 연결을 설정하는 것은 약간 지루하고 매번 2-3분이 걸립니다. 그래서 장치를 연결하면 공유 연결이 자동으로 생성되기를 원하므로 라즈베리 파이를 USB 포트에 연결할 때마다 네트워크 관리자를 통해 네트워크 인터페이스를 구성할 필요가 없습니다.
이를 수행할 수 있는 방법이 있습니까? 지금까지 입력하면 lsusb
다음과 같은 결과가 나타납니다.
$ lsusb
Bus 002 Device 002: ID 05e3:0732 Genesys Logic, Inc. All-in-One Cardreader
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 4e53:5407
Bus 001 Device 010: ID 0925:3881 Lakeview Research Saleae Logic
Bus 001 Device 009: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
USB를 연결한 후 생성되는 장치는 다음과 같습니다.
Bus 001 Device 009: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
하나.
또한 dmesg
표시되는 내용은 다음과 같습니다.
[ 2015.792407] usb 1-3: new full-speed USB device number 8 using xhci_hcd
[ 2016.368398] usb 1-3: new high-speed USB device number 9 using xhci_hcd
[ 2016.517429] usb 1-3: New USB device found, idVendor=0525, idProduct=a4a2, bcdDevice= 5.10
[ 2016.517434] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2016.517437] usb 1-3: Product: RNDIS/Ethernet Gadget
[ 2016.517441] usb 1-3: Manufacturer: Linux 5.10.63+ with 20980000.usb
[ 2016.518553] cdc_subset: probe of 1-3:1.0 failed with error -22
[ 2016.520510] cdc_ether 1-3:1.0 usb0: register 'cdc_ether' at usb-0000:00:14.0-3, CDC Ethernet Device, 12:e2:73:0a:fa:92
[ 2016.550226] cdc_ether 1-3:1.0 enp0s20f0u3: renamed from usb0
[ 2017.365925] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=89 TC=0 HOPLIMIT=1 FLOWLBL=617835 PROTO=UDP SPT=22161 DPT=161 LEN=49
[ 2017.532279] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=89 TC=0 HOPLIMIT=1 FLOWLBL=617835 PROTO=UDP SPT=22161 DPT=161 LEN=49
[ 2042.958713] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s20f0u3: link becomes ready
[ 2216.944793] audit: type=1400 audit(1644678209.643:133): apparmor="DENIED" operation="capable" profile="/snap/snapd/14549/usr/lib/snapd/snap-confine" pid=10514 comm="snap-confine" capability=4 capname="fsetid"
[ 2220.764823] audit: type=1326 audit(1644678213.463:134): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=314 compat=0 ip=0x7f353fbdc89d code=0x50000
[ 2223.187662] audit: type=1400 audit(1644678215.883:135): apparmor="DENIED" operation="open" profile="snap.telegram-desktop.telegram-desktop" name="/etc/openal/alsoft.conf" pid=10514 comm="telegram-deskto" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[ 2224.579172] audit: type=1326 audit(1644678217.275:136): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 2224.579181] audit: type=1326 audit(1644678217.275:137): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=141 compat=0 ip=0x7f353fbd834b code=0x50000
[ 2224.579187] audit: type=1326 audit(1644678217.275:138): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 2224.579224] audit: type=1326 audit(1644678217.275:139): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=141 compat=0 ip=0x7f353fbd834b code=0x50000
[ 2224.579342] audit: type=1326 audit(1644678217.275:140): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 2224.579352] audit: type=1326 audit(1644678217.275:141): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=141 compat=0 ip=0x7f353fbd834b code=0x50000
[ 2224.579507] audit: type=1326 audit(1644678217.275:142): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 2224.579515] audit: type=1326 audit(1644678217.275:143): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 2224.579551] audit: type=1326 audit(1644678217.275:144): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=10514 comm="telegram-deskto" exe="/snap/telegram-desktop/3544/usr/bin/telegram-desktop" sig=0 arch=c000003e syscall=203 compat=0 ip=0x7f3541bb26e1 code=0x50000
[ 3121.350145] usb 1-5: new high-speed USB device number 10 using xhci_hcd
[ 3121.498265] usb 1-5: New USB device found, idVendor=0925, idProduct=3881, bcdDevice= 0.01
[ 3121.498271] usb 1-5: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3122.347647] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=89 TC=0 HOPLIMIT=1 FLOWLBL=617835 PROTO=UDP SPT=22161 DPT=161 LEN=49
[ 3122.513998] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=89 TC=0 HOPLIMIT=1 FLOWLBL=617835 PROTO=UDP SPT=22161 DPT=161 LEN=49
[ 3122.680261] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=89 TC=0 HOPLIMIT=1 FLOWLBL=617835 PROTO=UDP SPT=22161 DPT=161 LEN=49
[ 3122.880905] [UFW BLOCK] IN=enp3s0 OUT= MAC= SRC=fe80:0000:0000:0000:1be3:4633:095f:d015 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=663885 PROTO=UDP SPT=8612 DPT=8612 LEN=24
[ 3122.880917] [UFW BLOCK] IN=enp3s0 OUT= MAC= SRC=fe80:0000:0000:0000:1be3:4633:095f:d015 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=837265 PROTO=UDP SPT=8612 DPT=8610 LEN=24
[ 3122.880928] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=255464 PROTO=UDP SPT=8612 DPT=8612 LEN=24
[ 3122.880938] [UFW BLOCK] IN=br-c2a79e951b81 OUT= MAC= SRC=fe80:0000:0000:0000:0042:f4ff:fe99:0011 DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=341915 PROTO=UDP SPT=8612 DPT=8610 LEN=24
[ 3122.880946] [UFW BLOCK] IN=vethc930aa4 OUT= MAC= SRC=fe80:0000:0000:0000:0814:60ff:fee9:705f DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=674828 PROTO=UDP SPT=8612 DPT=8612 LEN=24
[ 3122.880953] [UFW BLOCK] IN=vethc930aa4 OUT= MAC= SRC=fe80:0000:0000:0000:0814:60ff:fee9:705f DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=1048135 PROTO=UDP SPT=8612 DPT=8610 LEN=24
[ 3122.880960] [UFW BLOCK] IN=enp0s20f0u3 OUT= MAC= SRC=fe80:0000:0000:0000:1eaf:0969:516b:39cb DST=ff02:0000:0000:0000:0000:0000:0000:0001 LEN=64 TC=0 HOPLIMIT=1 FLOWLBL=326809 PROTO=UDP SPT=8612 DPT=8612 LEN=24
제가 사용하고 있는 배포판은 Linux Mint 19입니다. 이것이 내가 따라야 할 접근 방식인 것 같지만 udev
어떻게 해야 할지 모르겠습니다.
하지만 내가 원하는 것은 라즈베리 파이를 가젯 모드에 연결한 후 연결을 다음으로 설정하는 것입니다.
편집 1
이제 udev 규칙을 설정하여 이름을 지정했습니다.
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="rpi0"
하지만 내가 한 일은 인터페이스 usb0
의 이름 rpi0
을 .
내가 원하는 것은 일단 라즈베리 파이를 연결하면 파일을 생성하여 자동으로 연결을 시도하지 않는 것입니다./etc/NetworkManager/conf.d/rpi0.conf
[main]
no-auto-default=rpi0
하지만 연결을 시도할 때마다 새로운 네트워크 연결이 생성됩니다.
내 연결을 공유하고 전체 네트워크 관리자를 우회할 수 있는 방법이 있습니까?
답변1
udev 규칙을 통해 이를 관리해야 하며 네트워크 나가거가 이를 전혀 관리하도록 허용하지 마십시오.
1단계: 고정 IP를 rasbnerry pi로 설정
먼저, 임시로 네트워크 설정을 마지막으로 공유하도록 설정하고 /etc/dhcpcd.conf
다음 설정을 추가하여 Raspberry Pi에 고정 IP를 설정해야 합니다.
interface usb0
static ip_address=10.42.0.62/24
static routers=10.42.0.1
static domain_name_servers=1.1.1.1
하지만 이 작업을 수행하기 전에 상대적으로 안전하므로 권장 설정에 표시된 설정을 usb
실행하여 usb0 인터페이스가 Raspberry Pi에서 사용하는 인터페이스인지 확인하세요. 내 경우에는 다음과 같았습니다.ifconfig
ifconfig
ifconfig
usb0
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.62 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::2f8c:1871:13b2:dc30 prefixlen 64 scopeid 0x20<link>
ether ce:bb:5c:2b:f2:46 txqueuelen 1000 (Ethernet)
RX packets 230 bytes 19437 (18.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 891 bytes 56964 (55.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2단계 특정 네트워크 인터페이스 이름과 IP, Raspberry Pi가 연결된 컴퓨터를 설정합니다.
인터페이스를 관리하는 방법으로 udev를 사용해야 합니다. 제 경우에는 다음과 같은 파일을 만들었습니다 /etc/udev/rules.d/99_rpi_net_renamer.rules
.
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="0525", ATTRS{idProduct}=="a4a2", NAME="rpi0", RUN+="/sbin/ifconfig rpi0 down", RUN+="/sbin/ifconfig rpi0 10.42.0.61/24 broadcast 10.42.0.255",RUN+="/sbin/ifconfig rpi0 up"
내가 한 일은 lsusb
모든 장치 목록을 기반으로 한 것입니다.
lsusb
Bus 002 Device 002: ID 05e3:0732 Genesys Logic, Inc. All-in-One Cardreader
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 4e53:5407
Bus 001 Device 010: ID 0925:3881 Lakeview Research Saleae Logic
Bus 001 Device 009: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
라즈베리파이를 찾기 위해 USB 포트에 꽂았다 뺐다를 lsusb
반복하며 다양한 출력을 비교해 보았습니다. 내 경우 장치는 다음과 같습니다.
Bus 001 Device 009: ID 0525:a4a2 Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
그래서 udev 규칙에 다음과 같은 기록을 남겼습니다.
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYY", NAME="rpi0", RUN+="/sbin/ifconfig rpi0 down", RUN+="/sbin/ifconfig rpi0 10.42.0.61/24 broadcast 10.42.0.255",RUN+="/sbin/ifconfig rpi0 up"
XXXX
어디에 있었고 0525
어디에 YYYY
있습니까 a4a2
? 경험상 lsusb
다음 형식의 레코드를 찾아야 합니다.
Bus 001 Device 009: ID XXXX:YYYY Netchip Technology, Inc. Linux-USB Ethernet/RNDIS Gadget
그리고 각각 그리고 XXXX
입니다 YYYY
.ATTRS{idVendor}
ATTRS{idProduct}
3단계: 네트워크 관리자 관리를 비활성화합니다.
내 경우에는 다음과 같은 규칙이 있습니다 /etc/NetworkManager/conf.d/rpi0.conf
.
[main]
no-auto-default=rpi0
[keyfile]
unmanaged-devices=rpi0
4단계: 변경 사항을 완료하고 적용합니다.
변경 사항을 적용하려면 다음을 실행하세요.
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo service network manager restart
그런 다음 Raspberry Pi를 분리했다가 다시 연결하여 변경 사항이 적용되었는지 확인하세요.