2

I have the below error:

[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**

But when i did not enter source, it works fine:

[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

Please advice me on resolution. Do let me know if you need more information. Thanks in advance :)

0

1 Answer 1

2

You need to type traceroute -s with addresses which directly assign to any interfaces on your server.

You can type any of this addresses from your output of ip a:

192.168.111.xyz
192.168.111.xyzz

But not real public ip because it has assigned to your other device (e.g. router).

See man traceroute:

-s source_addr, --source=source_addr

Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

1
  • Thanks! let me test out and feedback :) Very interesting to know.
    – Jun10r
    Oct 3, 2017 at 14:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .