나는 다음과 같은 네트워크를 가지고 있습니다(모든 머신은 Debian GNU/Linux 10 Buster입니다):
+----+ +--------+ +--------+ +----+
|.1.x| <--> .1.1 |ROUTER-A| .101.1 <--> .101.2 |ROUTER-B| .2.1 <--> |.2.x|
+----+ enp0s8 +--------+ enp0s9 enp0s9 +--------+ enp0s8 +----+
.1.x
네트워크에 있는 컴퓨터가 네트워크에 있는 컴퓨터와 통신할 수 있도록 하려고 합니다 .2.x
.
~에 따르면이 링크또는이것, up
인터페이스 파일에 명령을 추가할 수 있습니다. 그래서 한번 시도해 보았습니다.
/etc/network/
interfaces
interfaces.d/
enp0s3-nat
enp0s8-intnet-1
enp0s9-intnet-101
loopback
안에 enp0s9-intnet-101
:
allow-hotplug enp0s9
iface enp0s9 inet static
address 192.168.101.1
netmask 255.255.255.0
gateway 192.168.101.1
network 192.168.101.0
up ip route add 192.168.2.0/24 via 192.168.101.2
그러나 이것은 작동하지 않습니다. 호기심에 시도해봤는데 up echo "hello world" > /tmp/hello-test
안되더군요.
static
내 방법을 다음으로 바꾸면 manual
:
allow-hotplug enp0s9
iface enp0s9 inet manual
up ip address add 192.168.101.1/24 dev enp0s9
up ip route add 192.168.2.0/24 via 192.168.101.2
ip link set enp0s9 down
재부팅 시 작동하지만 인터페이스를 "위아래로" 사용하면 ip link set enp0s9 up
경로를 더 이상 사용할 수 없습니다.
그래서 내 질문은 다음과 같습니다
up
메소드에서 명령을 사용할 수 있습니까static
?- 내 방법을 사용하여
manual
생성된 경로가 작동하지 않는 이유는 무엇입니까ip link set enp0s9 up
?
답변1
그래서 따르면이 티켓:
post-up 라인은 static ipv6 인터페이스에 대해 실행되지만, 인터페이스 구성 중 문제가 발생하면 실행되지 않습니다.
IPv4 인터페이스에도 동일하게 적용됩니다. 그래서 범인이 작동할 때까지 iface enp0s9 inet static
과 사이의 줄을 하나씩 계속 제거 했습니다 . 다음은 예상대로 작동합니다.up ip route add ...
gateway 192.168.101.1
allow-hotplug enp0s9
iface enp0s9 inet static
address 192.168.101.1/24
up ip route add 192.168.2.0/24 via 192.168.101.2
netmask
또한 이 옵션(더 이상 사용되지 않음)과 이 network
옵션(맨페이지에도 언급되지 않음)을 제거했습니다 . 대신 구문 address
과 함께 옵션을 사용했습니다 dotted quad/netmask
.
내 생각엔 gateway
동일한 IP 주소를 사용할 수 없는 것 같습니다 address
.
ip link set enp0s9 up
"경로가 "로 생성되지 않고 사용될 때 올바르게 생성되는 이유에 대해 ifup enp0s9
이것은 훨씬 더 많은 작업을 수행하는 더 높은 수준의 명령입니다 ip link set ... up
(참조이 게시물자세한 내용은).