BBB의 고정 IP는 네트워크/인터페이스 파일에 따라 변경되지 않습니다.

BBB의 고정 IP는 네트워크/인터페이스 파일에 따라 변경되지 않습니다.

여러 BBB(Rev C)를 사용하고 있으며 다음 명령을 사용하여 Mac(OSX 10.9.3)에서 USB를 통해 통신하고 있습니다.혼디스운전사. BBB는 Debian을 실행 중이므로 모든 다른 고정 IP를 수동으로 할당하고 싶습니다. 그러나 IP 이상으로는 아무것도 얻을 수 없습니다 192.168.7.2. /etc/network/interfaces파일의 IP를 변경해도 192.168.7.10아무런 효과가 없습니다.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0
#iface eth0 inet dhcp
# Example to keep MAC address between reboots
#hwaddress ether DE:AD:BE:EF:CA:FE

auto eth0
iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.1

# WiFi Example
#auto wlan0
#iface wlan0 inet dhcp
#    wpa-ssid "essid"
#    wpa-psk  "password"

# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
# Note on some boards, usb0 is automaticly setup with an init script
# in that case, to completely disable remove file [run_boot-scripts] from the boot partition
iface usb0 inet static
    address 192.168.7.10
    netmask 255.255.255.0
    network 192.168.7.0
    gateway 192.168.7.1

실제로 부팅 파티션의 파일도 변경했지만 결과가 없습니다.

#!/bin/bash

# Update /etc/network/interfaces to add virtual Ethernet port
cat >>/etc/network/interfaces <<EOF

iface usb0 inet static
  address 192.168.7.10
  netmask 255.255.255.0
  network 192.168.7.0
  gateway 192.168.7.1
EOF

# Add terminal to virtual serial port
cat >/etc/init/gadget-serial.conf <<EOF
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty 115200 ttyGS0
EOF

# Write script to start gadget driver
cat >/usr/sbin/g-multi-load.sh <<'EOF'
#!/bin/bash
if [ "`lsmod | grep g_multi`" != "" ]; then exit 0; fi
mac_addr=/proc/device-tree/ocp/ethernet@4a100000/slave@4a100300/mac-address
eeprom=/sys/bus/i2c/devices/0-0050/eeprom

DEV_ADDR=$(perl -e 'print join(":",unpack("(H2)*",<>))' ${mac_addr})
VERSION=$(perl -e '@x=unpack("A12A4",<>); print $x[1]' ${eeprom})
SERIAL_NUMBER=$(perl -e '@x=unpack("A16A12",<>); print $x[1]' ${eeprom})
ISBLACK=$(perl -e '@x=unpack("A20A4",<>); print $x[1]' ${eeprom})

BLACK=""
if [ "${ISBLACK}" = "BBBK" ] ; then
    BLACK="Black"
fi
if [ "${ISBLACK}" = "BNLT" ] ; then
    BLACK="Black"
fi

modprobe g_multi file=/dev/mmcblk0p1 cdrom=0 stall=0 removable=1 nofua=1 iSerialNumber=${SERIAL_NUMBER} iManufacturer=Circuitco iProduct=BeagleBone${BLACK} host_addr=${DEV_ADDR}

# Enable the network interface
sleep 1
ifup usb0
EOF
chmod +x /usr/sbin/g-multi-load.sh

# Add script to rc.local
perl -i -pe 's!^exit 0!/usr/sbin/g-multi-load.sh\nexit 0!' /etc/rc.local

# Install DHCP server
sudo apt-get -y update
sudo apt-get -y install isc-dhcp-server

# Configure DHCP server
cat >/etc/ltsp/dhcp.conf <<EOF
ddns-update-style none;
subnet 192.168.7.0 netmask 255.255.255.252 {
  range 192.168.7.1 192.168.7.1;
}
EOF
perl -i -pe 's/INTERFACES=".*"/INTERFACES="usb0"/' /etc/default/isc-dhcp-server

# Start up services
/usr/sbin/g-multi-load.sh
service isc-dhcp-server start

답변1

BeagleBone Black의 세 번째 파일: /opt/scripts/boot/am335x_evm.sh를 변경해야 합니다.

여기에서 찾았습니다. http://ewong.me/changing-usb0-ip-address-on-the-beaglebone-black

답변2

나는 BBB에서 그것을 시도했지만 성공하지 못했습니다. 내 Beaglebone의 네트워크 구성은 connman에 의해 제어되는 것으로 나타났습니다. 재부팅 후 /etc/network/interfaces 및 기타 스크립트 파일을 편집해도 효과가 없습니다. (GUI 인터페이스를 사용했다면 이것이 더 분명했을 것입니다. 사실 무슨 일이 일어나고 있는지 알아 내려고 몇 시간 동안 헤매었습니다 ...) 마침내 다음 명령을 정적으로 입력하여 영구적으로 변경했습니다. 즉, 구성 가능한 IP:

먼저 (내 경우에는 유선) 연결의 "서비스 이름"을 찾아야 합니다. 입력하다:

연결 서비스

내 경우 유선 연결 이름은 "ethernet_b0d5cc8194db_cable"입니다. 연결 구성을 설정하는 데 필요합니다. 다음은 eth0(유선) 연결을 고정 IP 주소 "192.168.1.219"로 설정합니다.

connmanctl 구성 ethernet_b0d5cc8194db_cable ipv4 수동 192.168.1.219 255.255.255.0 192.168.1.1

네임서버 추가:

connmanctl 구성 ethernet_b0d5cc8194db_cable --nameservers 8.8.8.8

또한 ipv6을 비활성화할 수도 있습니다(제가 선호하는 것임).

connmanctl 구성 ethernet_b0d5cc8194db_cable ipv6 닫기

Linux에서 네트워킹을 구성하는 방법이 너무 다양하다는 것은 유감스러운 일입니다!

-남자

관련 정보