다음과 같은 오류가 있습니다.
[root@~]# traceroute -s 'publicIP' 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
**bind: Cannot assign requested address**
하지만 소스 코드를 입력하지 않으면 정상적으로 작동합니다.
[root@pf-apispens ~]# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
1 192.168.111.1 (192.168.111.1) 1.759 ms 1.728 ms 1.649 ms
2 * * *
3 172.24.7.x (172.24.7.x) 1.752 ms 1.744 ms 1.816 ms
4 61.8.x.x (61.8.x.x) 1.635 ms 1.653 ms 1.632 ms
[root@~]# ip addr
{1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1454 qdisc pfifo_fast state UP qlen 1000
link/ether fa:16:3e:a7:5c:d0 brd ff:ff:ff:ff:ff:ff
inet 192.168.111.xyz/24 brd 192.168.111.255 scope global eth0
inet 192.168.111.xyzz/32 scope global eth0
inet6 fe80::f816:3eff:fea7:5cd0/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether fa:16:3e:1d:e7:7a brd ff:ff:ff:ff:ff:ff
[root@~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.111.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.27.0.0 192.168.111.2 255.255.254.0 UG 0 0 0 eth0
0.0.0.0 192.168.111.1 0.0.0.0 UG 0 0 0 eth0
해결방법에 대해 조언 부탁드립니다. 더 많은 정보가 필요하면 알려주시기 바랍니다. 미리 감사드립니다 :)
답변1
traceroute -s
서버의 인터페이스에 직접 할당된 주소를 입력해야 합니다 .
다음 출력에서 다음 주소 중 하나를 입력할 수 있습니다 ip a
.
192.168.111.xyz
192.168.111.xyzz
그러나 다른 장치(예: 라우터)에 할당되므로 실제로는 공용 IP가 아닙니다.
바라보다 man traceroute
:
-s 소스 주소, --source=소스 주소
대체 소스 주소를 선택하세요. 인터페이스 중 하나의 주소를 선택해야 합니다. 기본적으로 아웃바운드 인터페이스 주소가 사용됩니다.