인터페이스에 대해 두 개의 IP 주소가 있는 컴퓨터가 있습니다.
inet 192.168.1.15/32 scope global eth0
inet 10.10.118.45/24 brd 10.10.118.255 scope global eth0:hosts4
예를 들어 를 실행하면 ip -s route get 8.8.8.8
송신 패킷은 다음과 같은 소스 IP 주소를 갖게 됩니다 10.10.118.45
.
8.8.8.8 via 10.10.118.254 dev eth0 src 10.10.118.45
cache users 1 used 1
그러나 예를 들어 ping
또는 SSH
에 대한 8.8.8.8
소스 IP는 다음과 같습니다 192.168.1.15
.
15:19:38.092508 IP 192.168.1.15 > 8.8.8.8: ICMP echo request, id 9135, seq 2, length 64
15:19:38.097962 IP 8.8.8.8 > 192.168.1.15: ICMP echo reply, id 9135, seq 2, length 64
ip route get
이 경우 올바른 소스 IP 주소가 표시되지 않는 이유는 무엇입니까?
답변1
머신에는 기본 게이트웨이가 하나만 있을 수 있습니다. ping -i를 사용하여 패킷을 가져올 인터페이스를 선택할 수 있습니다. 제공하신 정보에 따르면 기본 IP는 192.168.1.15입니다. 10.10.118.45는 별칭인 것 같습니다. 내부의 인터페이스 구성을 확인하세요 /etc/networks
./etc/sysconfig/network
/etc/network-scripts/ifcfg-*
다음은 유사한 구성의 출력 예입니다.
[root@cp-rc ~]# ip route show
default via 192.185.130.1 dev eth0 proto static metric 100
10.1.1.0/24 dev eth1 proto kernel scope link src 10.1.1.9 metric 100
192.185.130.0/24 dev eth0 proto kernel scope link src 192.185.130.90 metric 100
[root@cp-rc ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.185.130.1 0.0.0.0 UG 100 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1
192.185.130.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
답변2
10.10.118.45/24
주소가 dhcp 일까요 ? 고정 주소를 제거해 볼 수 있습니다