Debian 10이 설치된 장치에서 다음을 수정하여 IP를 영구적으로 변경하고 싶습니다./etc/네트워크/인터페이스. 그래서 다음과 같이 수정했습니다.
auto lo
iface lo inet loopback
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.109.11
netmask 255.255.255.0
gateway 192.168.109.254
그 후에 나는 다음을 수행합니다.
ifdown eth0 && ifup eth0
하지만 이 시점에서는 다음 오류가 반환됩니다.
root@var-som-mx6:~# ifdown eth0 && ifup eth0 --verbose
ifdown: interface eth0 not configured
ifup: configuring interface eth0=eth0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/hostapd
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/sbin/ip addr add 192.168.109.12/255.255.255.0 broadcast 192.168.109.255 dev eth0 label eth0
/sbin/ip link set dev eth0 up
/sbin/ip route add default via 192.168.109.254 dev eth0 onlink
RTNETLINK answers: Invalid argument
ifup: failed to bring up eth0
구성된 경우다음 사항을 알려주십시오.
root@var-som-mx6:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.109.11 netmask 255.255.255.0 broadcast 192.168.109.255
inet6 fe80::fadc:7aff:fe3e:8dbb prefixlen 64 scopeid 0x20<link>
ether f8:dc:7a:3e:8d:bb txqueuelen 1000 (Ethernet)
RX packets 35999 bytes 8217478 (7.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5137 bytes 1559379 (1.4 MiB)
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 1 (Local Loopback)
RX packets 2837 bytes 258173 (252.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2837 bytes 258173 (252.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
내가 뭘 잘못했나요?
답변1
다운된 경우그리고IFUPRTNETLINK(Linux 라우팅 소켓)에는 시스템 재부팅을 통해서만 사라지는 가짜 오류가 많이 있기 때문에 네트워크 인터페이스에서 작동하는 가장 좋은 방법은 아닌 것 같습니다. 이는 아마도 이상적이지 않을 것입니다.
IMHO, 이를 처리하는 주요 방법은 다음을 통해입니다.구성된 경우명령(또한 고려구성된 경우더 이상 사용되지 않고 교체됨아이피주문하다) :
root@var-som-mx6:~# ifconfig eth0 down ** now, update /etc/network/interfaces.. ** root@var-som-mx6:~# ifconfig eth0 up 192.168.109.11 netmask 255.255.255.0 root@var-som-mx6:~# route add default gw 192.168.109.254
업데이트해야 한다는 점 참고하세요/etc/네트워크/인터페이스 뒤쪽에이것ifconfig eth0 닫기
그런데, 사용해야 할 이유가 있다면다운된 경우그리고IFUP, 다음과 같이 이 문제를 해결할 수 있습니다.
root@var-som-mx6:~# ifdown --force eth0 ** now, update /etc/network/interfaces.. ** root@var-som-mx6:~# ifup --force eth0 root@var-som-mx6:~# route add default gw 192.168.109.254
여기서 --force는 인터페이스의 구성 또는 구성 해제를 강제합니다(원천), 특히:
프로그램은 네트워크 인터페이스가 열려 있는지 닫혀 있는지 기록합니다. 특별한 경우에는 이러한 기록이 인터페이스의 실제 상태와 일치하지 않을 수 있습니다. 예를 들어, ifup을 사용하여 가져온 인터페이스는 이후에 ifconfig를 사용하여 구성 해제된 인터페이스는 계속 작동 중인 것으로 기록됩니다. 이 문제를 해결하려면 --force 옵션을 사용하여 ifup 또는 ifdown이 인터페이스의 현재 상태에 관계없이 구성 또는 구성 해제 명령을 실행하도록 강제할 수 있습니다.
모든 것을 하나의 명령줄에 포함하려는 경우 올바른 코드 줄은 다음과 같습니다.
root@var-som-mx6:~# ifdown eth0 --force && ip addr flush dev eth0 && route add default gw 192.168.109.254 && ifup eth0 --force
어디IP 주소 새로 고침 dev eth0중대한.
이 솔루션은 "RTNETLINK 답변: 파일이 존재합니다" 실수.