更改第二個 NIC 卡沒有網關的預設路由
我有 2 個 NIC,第 2 個(使用 ip,10.1.1.2)連接到私有 n/w。私有 n/w 上的一台機器(帶有 ip,10.1.1.3 的 Windows)能夠 ping 這台 Linux 機器。但是從這台機器上,我無法ping回來。arping 命令有效。traceroute 10.1.1.3 進入 NIC1 的網關。
為了在幾次實驗後解決這個問題,這是我能做的最好的事情,並希望在進一步的過程中得到幫助:
managed=true
通過在 /etc/NetworkManager/NetworkManager.conf 中設置 " " 將管理切換到 NetworkManagerDEFROUTE=no
在以下部分添加
$$ ipv4 $$在文件中,
/etc/NetworkManager/system-connections/Wired connection 2.nmconnection 3.
2 internal2
在文件 /etc/iproute2/rt_tables 中添加“ ” 4.ip route add default dev eth1 table internal2
5.ip rule add from all to 10.1.1.3 lookup internal2 prio 1000
6.ip route show table main
(見下文) 7.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 掛起。一段時間後,當路由表失去一個條目時,事情又恢復了正常。我看到 traceroute 到預設網關。
我的目標是確保 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
如果網路正在“癒合”,這可能是 NetworkManager 試圖為您做事。我建議直接停止它並使用較低級別的命令來啟動兩個網路設備。
您需要設置的唯一顯式路由是預設路由。
這應該讓您 ping 專用網路,並在公共網路和 Internet 上執行所有操作。一旦這可行,問題就變成瞭如何配置 NetworkManager 來維持這種狀態(在那裡,我幫不了你)。
幾次重新啟動後,發現即使在 NetworkManager 執行的情況下,配置也可以正常工作。我認為添加 eth1 的 ip 作為網關可能是實際的答案。