네트워크를 다시 시작한 후 IP 라우팅 오류

네트워크를 다시 시작한 후 IP 라우팅 오류

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:2310.128.0.0/9는 연결된 네트워크가 아니며 이 컴퓨터에 IP 주소가 없어야 하므로 이 문제를 해결하려면 인터페이스를 삭제해야 합니다 .

관련 정보