IP 경로를 영구적으로 만들고 싶지만 재부팅하거나 서비스를 다시 시작하면 사라집니다.
내 네트워크 구성은 다음과 같습니다.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
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 pfifo_fast state UP qlen 1000
link/ether 52:54:00:ce:1c:48 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.56/16 brd 10.0.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.255.255.24/9 brd 10.255.255.255 scope global eth0:23
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fece:1c48/64 scope link
valid_lft forever preferred_lft forever
고양이 ifcfg-eth0
ONBOOT=yes
DEVICE=eth0
BOOTPROTO=static
IPADDR=10.0.0.56
NETMASK=255.255.0.0
GATEWAY=10.0.0.1
고양이 ifcfg-eth0:23
ONBOOT=yes
DEVICE=eth0:23
BOOTPROTO=static
IPADDR=10.255.255.24
CONNECTED_MODE=yes
NETMASK=255.128.0.0
GATEWAY=10.0.0.1
경로-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
10.128.0.0 0.0.0.0 255.128.0.0 U 0 0 0 eth0
10.128.0.1에 ping을 보내고 싶을 때 할 수 없습니다! 반면에 이 명령을 실행하면 다음과 같습니다.
ip r d 10.128.0.0/9 ; ip r a 10.128.0.0/9 via 10.0.0.1
다른 서버(10.128.0.1)를 ping하면 라우팅이 수정됩니다.
경로-n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
10.128.0.0 10.0.0.1 255.128.0.0 UG 0 0 0 eth0
핑 10.128.0.1
PING 10.128.0.1 (10.128.0.1) 56(84) bytes of data.
64 bytes from 10.128.0.1: icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from 10.128.0.1: icmp_seq=2 ttl=64 time=0.109 ms
하지만 /etc/sysconfig/network-scripts/route-eth0에 경로 파일을 조심스럽게 추가했습니다.
이와 같이:
default via 10.0.0.1 dev eth0
10.128.0.0/9 via 10.0.0.1 dev eth0
내 경로가 왜 잘못되었는지 이해가 되지 않습니다.
답변1
구성을 확인하세요 eth0:23
.
주소가 와 겹치 10.128.0.0/9
므로 시스템에서는 이를 직접 연결로 간주합니다. 이것이 바로 시스템이 기본 게이트웨이를 통해 경로를 추가하는 것을 허용하지 않는 이유입니다!
route -n
게이트웨이가 임을 알 수 있습니다 0.0.0.0
. 이는직접 연결, 그래서 이 줄은
10.128.0.0/9 via 10.0.0.1 dev eth0
실행할 수 없습니다(일부 로그 파일에서 오류가 발생할 수도 있음).
분명히 경로를 명시적으로 삭제하면 테이블에 더 이상 다른 경로(직접 연결된 경로)가 없기 때문에 시스템에서 기본 게이트웨이를 통해 경로를 추가할 수 있습니다.
eth0:23
10.128.0.0/9는 연결된 네트워크가 아니며 이 컴퓨터에 IP 주소가 없어야 하므로 이 문제를 해결하려면 인터페이스를 삭제해야 합니다 .