私はネットワーキングに関するすべてに初めて触れました。 MOXA-UC-8112ゲートウェイがあり、ネットワークに接続しようとしています。ゲートウェイにはDebian 9が組み込まれています。 LAN の eth0 インターフェイスが正常に動作します。今、eth1インターフェイスをWANに接続しようとしています。
これは私の設定ファイル/etc/network/interfacesです。
# interfaces(5) file used by ifup(8) and ifdown(8)
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto eth0 eth1 lo
iface lo inet loopback
iface eth0 inet static
address 172.AAA.AAA.AAA
network 172.BBB.BBB.BBB
netmask 255.CCC.CCC.CCC
gateway 172.DDD.DDD.DDD
iface eth1 inet static
address 176.AAA.AAA.AAA
network 176.BBB.BBB.BBB
netmask 255.EEE.EEE.EEE
gateway 176.DDD.DDD.DDD
以下はIPパスの出力です。
default via 172.DDD.DDD.DDDdev eth0 onlink
172.BBB.BBB.BBB/CC dev eth0 proto kernel scope link src 172.AAA.AAA.AAA
176.BBB.BBB.BBB/EE dev eth1 proto kernel scope link src 176.AAA.AAA.AAA
これら2つのインターフェイスを設定した後、ネットワークサービスを再起動してみました。これはRTNETLINKエラーメッセージが到着したときです。
Mar 21 09:02:27 XXXX ifup[1981]: RTNETLINK answers: File exists
Mar 21 09:02:27 XXXX ifup[1981]: ifup: failed to bring up eth1
Mar 21 09:02:27 XXXX systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Mar 21 09:02:27 XXXX systemd[1]: Failed to start Raise network interfaces.
ifupを使用すると、このエラーが発生します。
ifup -v eth1
ifup: reading directory /etc/network/interfaces.d
ifup: configuring interface eth1=eth1 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/ifenslave
+ [ inet = meta ]
+ IF_BOND_SLAVES=
+ [ ]
+ [ ]
+ [ -z ]
+ exit
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/bin/ip addr add 176.AAA.AAA.AAA/255.EEE.EEE.EEE broadcast 176.XXX.XXX.XXX dev eth1 label eth1
RTNETLINK answers: File exists
ifup: failed to bring up eth1
ifdownを使用すると、別のエラーが発生します。
ifdown -v eth1
ifdown: reading directory /etc/network/interfaces.d
ifdown: interface eth1 not configured
私はそれをすべて試しました:sudo ip addrlush dev eth1、sudo ifdown eth1&&sudo ifup eth1、nano /run/network/ifstate restart...
答え1
問題は/etc/interfaces
。
ip route
プログラム
default via 172.DDD.DDD.DDDdev eth0 onlink
これは、システムがこのインターフェースを介してインターネットにアクセスしようとすることを意味します。eth1
WANリンクの方法ではありません。デフォルトルートはネクストホップルータを指す必要がありますeth1
。
内部ネットワークと同様に、eth0
他のデバイスと同じネットワーク上にある必要があるため、ゲートウェイは必要ありません。同じサブネット上のすべてのデバイスは互いに直接通信できます。ゲートウェイルータは、サブネットとのトラフィック転送にのみ使用されます。
設定でゲートウェイをコメントアウトまたは削除するだけeth0
です。
それでも同じメッセージが表示された場合は、コマンドを実行してもう一度ip addr flush dev eth0
やり直しip addr flush dev eth1
てくださいifup
。