2つのネットワークカードがあり、2番目のカード(IPアドレス10.1.1.2)はプライベートネットワークに接続されています。パーソナルネットワーク(Windows、IPを搭載した10.1.1.3)のマシンは、このLinuxマシンをpingできます。ただし、このコンピュータではpingを送信できません。 arpingコマンドが機能します。 Traceroute 10.1.1.3はNIC1のゲートウェイに移動します。
多くの実験を行った後、この問題を解決するためにこれが私ができる最善であり、さらに助けてください。
managed=true
/etc/NetworkManager/NetworkManager.confで ""を設定して管理をNetworkManagerに切り替えます。DEFROUTE=no
/etc/NetworkManager/system-connections/Wired 接続 2.nmconnection ファイル
の [ipv4] セクションの下に追加します。2 internal2
/etc/iproute2/rt_tables ファイルに ""を追加しました。ip route add default dev eth1 table internal2
ip rule add from all to 10.1.1.3 lookup internal2 prio 1000
ip route show table main
(下記参照)route -n
(下記参照)
出力ip route show ...
:
default via 192.168.1.1 dev eth0 proto static metric 100
10.1.1.0/24 dev eth1 proto kernel scope link src 10.1.1.2 metric 101
192.168.116.0/22 dev eth0 proto kernel scope link src 164.99.116.152 metric 100
出力route -n
:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 101 0 0 eth1
192.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 eth0
時間が経過すると、項目が2つだけ表示されることもあります。これは、追加されたアイテムが消去されたことを意味します。
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 eth0
上記の操作を実行すると、TracerouteとPingが中断されます。しばらくすると、ルーティングテーブルのエントリが失われると、状況は正常に戻ります。トレースパスがデフォルトゲートウェイに移動することを確認しました。
私の目標は、ping 10.1.1.3が結果を提供していることを確認することです。プライベートネットワークにはゲートウェイはありません。
次のルールまで試してみましたが、しばらくしてネットワークが正常に戻りました:)
ip rule add from all to all lookup internal2 prio 1000
編集1:以下を追加しましたcat /etc/NetworkManager/system-connections/Wired\ connection\ 2.nmconnection
。
[connection]
id=Wired connection 2
uuid=de14c2b9-4828-3599-8440-c32d778395ed
type=ethernet
autoconnect-priority=-999
permissions=
timestamp=1597651876
[ethernet]
mac-address=00:0C:29:BB:48:72
mac-address-blacklist=
[ipv4]
address1=10.1.1.2/24
dns-search=
method=auto
DEFROUTE=no
[ipv6]
addr-gen-mode=stable-privacy
dns-search=
ip6-privacy=0
method=auto
編集2:自己治癒後、
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:bb:48:68 brd ff:ff:ff:ff:ff:ff
inet 192.168.116.152/22 brd 192.168.1.255 scope global noprefixroute eth0
valid_lft forever preferred_lft forever
inet6 fda7:e6ee:2e09:0:e444:fc21:ec4b:5dca/64 scope global tentative dynamic noprefixroute
valid_lft 2591999sec preferred_lft 604799sec
inet6 fdfe:9042:c53d:0:181e:7fbb:e3ce:9b9/64 scope global tentative dynamic noprefixroute
valid_lft 2592000sec preferred_lft 604800sec
inet6 fe80::e1dc:c1:89f1:9bd8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:bb:48:72 brd ff:ff:ff:ff:ff:ff
編集3:最後のステップとして、ディストリビューション(MX Linux)が提供するGUIインターフェイスを使用してIPアドレスを再生成し、しばらく機能しました。自己修復が発生する前のルーティングテーブルは次のとおりです。
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 10.1.1.2 0.0.0.0 UG 101 0 0 eth1
10.1.1.0 0.0.0.0 255.255.255.0 U 101 0 0 eth1
192.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 eth0
ゲートウェイを私のノードアドレスとして指定しました。すべてがうまく機能し、任意の方法でpingを実行できます。
数分後、セルフリカバリが行われ、ルーティングテーブルが再表示されます。
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.116.0 0.0.0.0 255.255.252.0 U 100 0 0 eth0
ip route
default via 192.168.1.1 dev eth0 proto static metric 100
default via 10.1.1.2 dev eth1 proto static metric 101
10.1.1.0/24 dev eth1 proto kernel scope link src 10.1.1.2 metric 101
192.168.116.0/22 dev eth0 proto kernel scope link src 192.168.116.152 metric 100
編集4:
コメントで提案されているように、明白な修正を無効にしてから、次のコマンドを使用して作業します。
service network-manager stop
答え1
ネットワークが「回復中」の場合、これはNetworkManagerがユーザーのために何かをしようとしている可能性があります。完全に停止し、低レベルのコマンドを使用して両方のネットワークデバイスを起動することをお勧めします。
設定する必要がある唯一の明示的なパスはデフォルトパスです。
これにより、プライベートネットワークをpingし、パブリックネットワークとインターネット上ですべての操作を実行できます。これがうまくいくと、問題はこの状態を維持するようにNetworkManagerを設定する方法になります(ここでは役に立ちません)。
答え2
数回再起動した後、NetworkManagerが実行されていても設定が正常に機能することがわかりました。 eth1のIPをゲートウェイとして追加することが実際の答えになる可能性があると思います。