私は次のネットワークを持っています(すべてのマシンは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
の行を1つずつ削除し続けました。以下は期待どおりに機能します。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
(参照この投稿詳細は)。