USB 가상 이더넷 인터페이스 용 DHCP


1

DHCP를 사용하여 Arietta G25 데비안 ARM 보드를 홈 네트워크 에 연결하려고 합니다 (또는 올바른 서브넷의 고정 IP에 실패). 현재 USB를 통한 보드를 사용하고 있는데 고정 192.168.10.0/24IP를 사용하여 구성된 일종의 가상 이더넷 인터페이스로 표시됩니다 . 연결된 시스템에서 SSH (SSH)에 액세스 할 수 있지만 192.168.1.0/24홈 네트워크에서 보드에 액세스 할뿐만 아니라 나머지 네트워크 및 보드의 인터넷 에 액세스 할 수 있기를 원합니다 .

홈 네트워크가 192.168.1.0/24서브넷에 있습니다.

현재 두 개의 /etc/network/interfaces파일이 있습니다.

호스트 구성 (Linux 호스트 상자)

allow-hotplug usb0
iface usb0 inet static
    address 192.168.10.20
    netmask 255.255.255.0

보드 설정 (USB를 통한 데비안 ARM 보드)

auto usb0
iface usb0 inet static
    address 192.168.10.10
    netmask 255.255.255.0
    gateway 192.168.10.20

보드의 IP를 설정하려고 시도했지만 192.168.1.90액세스 할 수 없었습니다. 아마도 게이트웨이와 관련이 있습니까? 나는 또한 시도했다

iface usb0 inet dhcp

아무 소용이 없습니다.

USB를 통해 가상 이더넷 인터페이스로 연결된 USB ARM 보드에 192.168.1.0/24USB를 통해 상자에 꽂을 때 나머지 네트워크에서 사용 하는 서브넷 의 IP 주소 (DHCP 또는 정적)를 갖도록하려면 어떻게해야합니까? DHCP를 사용하고 싶습니다. 의 라우터에서 DHCP 서버가 실행 중입니다 192.168.1.1.

답변:


1

192.168.1.90라우팅이 실패 하여 보드의 IP를 설정하면 작동하지 않습니다. ip route호스트 상자에서 실행하면 192.168.1.0/24일반 네트워크 연결을 통해 나머지 LAN에 연결 되었음을 나타냅니다 . usb0의도 하지 않은 인터페이스로 패킷을 라우팅하려고합니다 .

두 가지 옵션 :

  1. Linux 호스트를 라우터로 사용하십시오. 이를 위해서는 iptables를 사용하여 전달 및 NAT (MASQUERADING) 설정이 필요합니다 (실제로는 매우 간단합니다)

  2. 호스트 상자에 브릿지 인터페이스를 작성하고 두 실제 인터페이스를 해당 브릿지에 추가하십시오. 이것은 기본적으로 둘 다 동일한 스위치에 연결하는 것과 같지만 소프트웨어에서 수행됩니다. 네트워크가 호스트 상자에 연결되어 있다고 가정합니다 eth0.

    brctl addbr br0
    brctl addif br0 usb0
    brctl addif eth0
    

이것은 잘 작동한다 ©. bridge-utils패키지 를 설치해야 할 수도 있습니다 . 데비안 기반 배포판을 사용하고 있으므로 여기를 참조하십시오 .


답변 주셔서 감사합니다. 불행히도 어떤 이유로 보드에 완전히 액세스 할 수없는 브리지를 만들려고했지만 iptables구성 에서 NAT 규칙을 설정했습니다.
Bojangles

:). 이것은 귀하의 문제가 아니었을 수도 있지만 브리지가 무선으로 작동하지 않을 것입니다. 어쨌든, 그것이 작동한다는 소식을 듣고 기쁘다.
Greg Bowser

1

이것은 NAT와 iptables를 사용하여 가능합니다 (영감에 대한 Greg Bowser의 답변 덕분에). eth0네트워크 인터페이스이고 usb0Arietta의 네트워크 인터페이스 라고 가정하면 호스트에서 일시적으로 라우팅을 설정합니다 .

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i usb0 -o eth0 -j ACCEPT

그것에게 시험을주십시오 (해야 ifdown usb0하고 ifup usb0또는 아리에타를 다시 부팅). 규칙이 작동하면 외부 주소 (핑 (ping) 할 수 있어야 192.168.1.1또는 google.com아리에타에서를 아마도).

위의 iptables 규칙이 작동하는 경우, 당신은 그들이 할 수 영구적으로 추가하여 net.ipv4.ip_forward = 1/etc/sysctl.conf와의 iptables 규칙을 저장. 설치 중 iptables-persistent( apt-get install iptables-persistent) 을 설치 하고 규칙을 저장 하여이 작업을 수행했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.