2개의 네트워크 카드가 있는데 두 번째 카드(IP 주소 10.1.1.2)는 개인 네트워크에 연결되어 있습니다. 개인용 네트워크(Windows, IP가 있는 10.1.1.3)의 머신은 이 Linux 머신을 핑할 수 있습니다. 하지만 이 컴퓨터에서는 핑을 보낼 수 없습니다. 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를 게이트웨이로 추가하는 것이 실제 답변이 될 수 있다고 생각합니다.