![데비안 'pocketbeagle'에 대한 connmanctl](https://linux55.com/image/177500/%EB%8D%B0%EB%B9%84%EC%95%88%20'pocketbeagle'%EC%97%90%20%EB%8C%80%ED%95%9C%20connmanctl.png)
새로 구성하려고 합니다."포켓 비글"Ubuntu(20.04) 노트북과 네트워크 연결을 공유하고 있습니다. PocketBeagle은 데비안 버전: 10.3/2020-04-06(참고자료).
"포켓 비글"WiFi도 이더넷도 없고 USB 포트만 있습니다. 를 지원하며 ssh
두 IP 중 하나 또는 둘 다를 통해 이 방법으로 보드에 액세스할 수 있습니다. 아마도 다음과 같이 보여주면 더 쉬울 것입니다.
ifconfig
달리다"포켓 비글"노출된:
$ ifconfig
usb0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.7.2 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::6264:5ff:fefa:813a prefixlen 64 scopeid 0x20<link>
ether 60:64:05:fa:81:3a txqueuelen 1000 (Ethernet)
...
usb1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.2 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::6264:5ff:fefa:813e prefixlen 64 scopeid 0x20<link>
ether 60:64:05:fa:81:3e txqueuelen 1000 (Ethernet)
...
ifconfig
달리다“우분투”노출된:
$ ifconfig
enx606405fa813b: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.7.1 netmask 255.255.255.0 broadcast 192.168.7.255
inet6 fe80::2267:92a0:a191:297d prefixlen 64 scopeid 0x20<link>
ether 60:64:05:fa:81:3b txqueuelen 1000 (Ethernet)
...
enx606405fa813d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.6.1 netmask 255.255.255.0 broadcast 192.168.6.255
inet6 fe80::3898:bc86:d0c2:cb53 prefixlen 64 scopeid 0x20<link>
ether 60:64:05:fa:81:3d txqueuelen 1000 (Ethernet)
...
몇 가지 연구 끝에 다음과 같이 공유를 구현하는 프로그램을 개발했습니다.
사용“우분투”GUI, 내가 바꿨어"이더넷 연결"
60:64:05:FA:81:3D
기본적으로 MAC과 함께 제공됩니다."자동DHCP"에"연결 공유".192.168.6.1
할당된 IP 주소가 변경됩니다."포켓 비글"도착하다10.42.0.1
.
이렇게 변경한 후에는 다음과 같습니다.“우분투”CLI 보고서는 다음과 같습니다.
$ ifconfig
enx606405fa813d: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::3898:bc86:d0c2:cb53 prefixlen 64 scopeid 0x20<link>
ether 60:64:05:fa:81:3d txqueuelen 1000 (Ethernet)
...
- 이때 인터페이스에서는"포켓 비글"변경된 사항은 없지만 연결 공유에는 분명히 잘못된 것입니다. CLI에서 다음 명령을 실행했습니다."포켓 비글"
$ sudo connmanctl config usb1 --ipv4 manual 10.42.0.2 255.255.255.0 10.42.0.1 --nameservers 10.42.0.1
[sudo] password for debian:
Error usb1: Method "SetProperty" with signature "sv" on interface "net.connman.Service" doesn't exist
다음 명령을 사용하여 서비스를 쿼리해 보세요 connmanctl
.
$ sudo connmanctl
Error getting VPN connections: The name net.connman.vpn was not provided by any .service files
connmancconnmanctl> services
connmanctl>
나는 그것에 대해 전혀 익숙하지 않지만 connmanctl
내 연구에 따르면 이것이 DNS 서비스를 올바르게 설정하는 유일한 방법입니다. 내가 엉망으로 만든 건 아닐까? 어쩌면 제가 뭔가를 놓치고 있는 게 아닐까요? 그런 다음 "기존 방식" 구성을 시도하기로 결정했습니다.
- 다음 명령 시퀀스는 해당 항목을 재구성하는 데 사용됩니다."포켓 비글""기존 방식" 인터페이스:
$ sudo ifconfig usb1 10.42.0.2 netmask 255.255.255.0 up
$ sudo route add default gw 10.42.0.1 usb1
$ sudo nano /etc/resolv.conf
#
# add line: nameserver 10.42.0.1
# save & exit editor
#
# yes - this is an awful kludge, but it did provide DNS
이것이 효과가 있었습니다!- 이것"포켓 비글"인터넷에 성공적으로 연결되었으며 DNS가 작동했습니다.
debian@beaglebone:~$ ping unix.stackexchange.com
PING unix.stackexchange.com (151.101.1.69) 56(84) bytes of data.
64 bytes from 151.101.1.69 (151.101.1.69): icmp_seq=1 ttl=56 time=9.01 ms
64 bytes from 151.101.1.69 (151.101.1.69): icmp_seq=2 ttl=56 time=11.8 ms
...
문제: 분명히 문제는 내 사용에 있습니다 connmanctl
."포켓 비글"그 자체. 내가 뭘 잘못하고 있는 걸까요? 왜 connmanctl
예상대로 작동 하지 않나요 ?
답변1
Pocketbeagle에서도 비슷한 문제가 발생했습니다. 기본 구성은 로컬 DNS 서버 역할을 하는 dnsmasq로 구성됩니다. 기본적으로 연결할 때마다 인터넷에 액세스할 수 없으며 기본 Cloud9 IDE에 액세스할 수 있도록 자체 DNS를 제공합니다.
내 임시 수정 사항은 다음을 실행하는 것입니다.
sudo dhclient -r <usb0 or usb1>
.
이렇게 하면 호스트 PC에서 자동으로 DNS를 얻고 임시로 구성해야 합니다. 이 명령은 Pocketbeagle이 다시 시작될 때마다 다시 실행되어야 합니다. 내가 아는 한,connmanctl은 Pocketbeagle에서 DNS를 관리하지 않습니다.따라서 네임서버 설정은 뼈-우분투 이미지 또는 뼈-데비안에 아무런 영향을 미치지 않을 수 있습니다.
DNS 확인자를 자동으로 실행하려면 systemd-resolved
부팅 시 서비스가 시작되도록 서비스를 설치하고 활성화해야 합니다. 이것이 제가 인터넷에 접속할 때 일반적으로 사용하는 방법입니다.