How to force the SW Probe to use particular IP Interface / IP Address?
Hi team, is there a way how to force the SW Probe to use particular IP Interface / IP Address? 1. Turris Omnia Router: 1a - there is public IPv4 on WAN interface, but the probe choose LAN interface that is behind NAT, what is not necessary and would be better to choose the WAN. 1b - I have multiple IPv6 interfaces, the probe keeps choosing the one I use for testing and therefore is not as stable as the others. I would like the probe to use WAN6 interface instead. 2. CentOS virtual machine - there is public IPv4 and local IPv4 RFC1918, again, the probe choose the local instead of the public IP. It's a pity, the probe better use the public one. Take Care Jiri
<ripe@brite.cz> wrote: > is there a way how to force the SW Probe to use particular IP Interface > / IP Address? Isn't it running as a container? If so, the container has it's own IP address, and it would be bridged to the LAN interface, since the WAN interface would have only one IPv4. (and might be PPPoE!) > 1. Turris Omnia Router: > 1a - there is public IPv4 on WAN interface, but the probe choose LAN > interface that is behind NAT, what is not necessary and would be better > to choose the WAN. > 1b - I have multiple IPv6 interfaces, the probe keeps choosing the one > I use for testing and therefore is not as stable as the others. I would > like the probe to use WAN6 interface instead. Can you detail your network configuration here? > 2. CentOS virtual machine - there is public IPv4 and local IPv4 > RFC1918, again, the probe choose the local instead of the public > IP. It's a pity, the probe better use the public one. But, again, it can't use the IPv4 of the host. -- ] Never tell me the odds! | ipv6 mesh networks [ ] Michael Richardson, Sandelman Software Works | IoT architect [ ] mcr@sandelman.ca http://www.sandelman.ca/ | ruby on rails [
No containers in either case. On the Router it is running as an app, similar as if you run "ping" or "traceroute" manually on command-line. The SW Probe does not create its own interface or IP address, it makes use of one of the present, but not the one of best choice. Yes the WAN interface run PPPoE, but I believe the probe should be able to detect and use is: pppoe-wan Link encap:Point-to-Point Protocol inet addr:95.85.xxx.xxx P-t-P:10.11.5.146 Mask:255.255.255.255 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/10 Scope:Link inet6 addr: 2a01:510:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Global while the Probe config [atlas.ripe.net/probes/...] shows: IPv4 Current Configuration Internet Address 95.85.xxx.xxx ASN 43708 (METRONET - METRONET s.r.o.) Local Address 192.168.1.1 Gateway 10.11.5.146 Netmask 255.255.255.0 DNS Resolvers 127.0.0.1 so it uses the Local Address instead of public IP present on WAN interface. For IPv6: root@Om:~# ifconfig br-lan Link encap:Ethernet HWaddr 04:F0:21:23:2A:CE inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link inet6 addr: 2a01:510:xxxx:xx00::1/64 Scope:Global lan1 Link encap:Ethernet HWaddr D8:58:D7:00:32:01 inet addr:192.168.222.222 Bcast:192.168.222.223 Mask:255.255.255.248 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link inet6 addr: 2a01:510:xxxx:xx88::1/64 Scope:Global lan0.2 Link encap:Ethernet HWaddr D8:58:D7:00:32:01 inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/64 Scope:Link inet6 addr: 2a01:510:xxxx:xxff::1/64 Scope:Global pppoe-wan Link encap:Point-to-Point Protocol inet addr:95.85.xxx.xxx P-t-P:10.11.5.146 Mask:255.255.255.255 inet6 addr: fe80::xxxx:xxxx:xxxx:xxxx/10 Scope:Link inet6 addr: 2a01:510:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx/64 Scope:Global While the Probe config page shows all the IPv6 addresses, it uses the "lan1" = 2a01:510:xxxx:xx88::1 for Connection and outgoing traffic, instead of pppoe-wan that should be used. ----------------------------------------- CentOS: it is not container, it is fullsize virtual machine running in large datacentre, it has its own public IPv4 and 6 on eth0, and other apps successfully make use of those, at the moment I have removed the other interface with 10.0.0.1 address so now the SW Probe do use the public IPv4. But once I create such 10.0.0.1 interface, the probe starts to use that private one for Connection and outgoing traffic. So what I was hoping for is, that I could make the software to use one particular interface for its outgoing communication. ______________________________________________________________
Od: "Michael Richardson" <mcr@sandelman.ca> Komu: ripe@brite.cz Datum: 24.05.2020 18:07 Předmět: Re: [atlas-sw-probes] How to force the SW Probe to use particular IP Interface / IP Address?
CC: <atlas-sw-probes@ripe.net>
<ripe@brite.cz> wrote:
is there a way how to force the SW Probe to use particular IP Interface / IP Address?
Isn't it running as a container? If so, the container has it's own IP address, and it would be bridged to the LAN interface, since the WAN interface would have only one IPv4. (and might be PPPoE!)
1. Turris Omnia Router: 1a - there is public IPv4 on WAN interface, but the probe choose LAN interface that is behind NAT, what is not necessary and would be better to choose the WAN.
1b - I have multiple IPv6 interfaces, the probe keeps choosing the one I use for testing and therefore is not as stable as the others. I would like the probe to use WAN6 interface instead.
Can you detail your network configuration here?
2. CentOS virtual machine - there is public IPv4 and local IPv4 RFC1918, again, the probe choose the local instead of the public IP. It's a pity, the probe better use the public one.
But, again, it can't use the IPv4 of the host.
-- ] Never tell me the odds! | ipv6 mesh networks [ ] Michael Richardson, Sandelman Software Works | IoT architect [ ] mcr@sandelman.ca http://www.sandelman.ca/ | ruby on rails [
On 2020/05/24 9:36 , ripe@brite.cz wrote:
is there a way how to force the SW Probe to use particular IP Interface / IP Address?
1. Turris Omnia Router: 1a - there is public IPv4 on WAN interface, but the probe choose LAN interface that is behind NAT, what is not necessary and would be better to choose the WAN. 1b - I have multiple IPv6 interfaces, the probe keeps choosing the one I use for testing and therefore is not as stable as the others. I would like the probe to use WAN6 interface instead.
2. CentOS virtual machine - there is public IPv4 and local IPv4 RFC1918, again, the probe choose the local instead of the public IP. It's a pity, the probe better use the public one.
For probes we basically have 3 types of addresses: 1) Addresses used for measurements. Those show up in measurement results as 'src_addr'. These are determined by the linux kernel on how best to route the outgoing packet. As long as the probe has one default route, that typically works. 2) The public address of the probe. This is taken from connections to our infrastructure. 3) The local address of the probe as reported on the website. Note that this address is not really used for anything except to show it on the website. Here we can do better. Because we just take the first address we find, instead of taking an address for an interface with a default route. Note, if you see something wrong case 1) and 2) then we have to investigate. Case 3) is on our list to look into. Philip
Yes the issue is only with case 3) Actually I found this issue when I wanted to run a measurement using non-RFC1918 probes only. I found my SW probes are all marked with System-tag IPv4 RFC1918 although there is public IPv4 present. See my probe 1000069 is tagged with System-tag IPv4 RFC1918 even there is public IPv4, and measurements do correctly state "src_addr":"95.85.x.x" Probe Address Discovery IPv4 IPv6 Connection Address - 2a01:510:xxxx:4888::1 IP Echo Service 95.85.x.x 2a01:510:xxxx:4888::1 The Local IP 192.168.1.1 2a01:510:xxxx:48ff::1 For IPv6 it is different story. On the web page all the IPv6 are listed correctly, but measurements show "src_addr":"2a01:510:xxxx:4888::1" as well as the "Connection Address" does. While the Default Route it different interface with something like 2a01:510:d5:xxxx:xxxx:xxxx:xxxx:xxxx address. Conclusion: - how can I have my probe 1000069 not tagged IPv4 RFC1918? - how can I make the probe use the default outgoing interface mentioned above? Cheers Jiri ______________________________________________________________
Od: "Philip Homburg" <philip.homburg@ripe.net> Komu: atlas-sw-probes@ripe.net Datum: 25.05.2020 10:43 Předmět: Re: [atlas-sw-probes] How to force the SW Probe to use particular IP Interface / IP Address?
On 2020/05/24 9:36 , ripe@brite.cz wrote:
is there a way how to force the SW Probe to use particular IP Interface / IP Address?
1. Turris Omnia Router: 1a - there is public IPv4 on WAN interface, but the probe choose LAN interface that is behind NAT, what is not necessary and would be better to choose the WAN. 1b - I have multiple IPv6 interfaces, the probe keeps choosing the one I use for testing and therefore is not as stable as the others. I would like the probe to use WAN6 interface instead.
2. CentOS virtual machine - there is public IPv4 and local IPv4 RFC1918, again, the probe choose the local instead of the public IP. It's a pity, the probe better use the public one.
For probes we basically have 3 types of addresses: 1) Addresses used for measurements. Those show up in measurement results as 'src_addr'. These are determined by the linux kernel on how best to route the outgoing packet. As long as the probe has one default route, that typically works. 2) The public address of the probe. This is taken from connections to our infrastructure. 3) The local address of the probe as reported on the website. Note that this address is not really used for anything except to show it on the website. Here we can do better. Because we just take the first address we find, instead of taking an address for an interface with a default route.
Note, if you see something wrong case 1) and 2) then we have to investigate. Case 3) is on our list to look into.
Philip
On 2020/05/25 16:28 , ripe@brite.cz wrote:
Probe Address Discovery IPv4 IPv6 Connection Address - 2a01:510:xxxx:4888::1 IP Echo Service 95.85.x.x 2a01:510:xxxx:4888::1 The Local IP 192.168.1.1 2a01:510:xxxx:48ff::1
We have improved the selection of the local IPv4 and IPv6 addresses. Basically we prefer address from interfaces that have a default route. This particular problem should now be solved. Please let me know if something is wrong.
For IPv6 it is different story. On the web page all the IPv6 are listed correctly, but measurements show "src_addr":"2a01:510:xxxx:4888::1" as well as the "Connection Address" does. While the Default Route it different interface with something like 2a01:510:d5:xxxx:xxxx:xxxx:xxxx:xxxx address.
For measurements, address selection is done by the Linux kernel. As far as I can tell, what happens here is that the interface with a default route (pppoe-wan) doesn't have a global IPv6 address. So the kernel has no way to prefer one address over another. Philip
Yes now it works fine, my 1000069 now shows correct "Local Address" and is not marked "IPv4 RFC1918" anymore. Thank you for that. Regarding measurements I see what you mean. I think we can live with it... Thanks again Jiri ______________________________________________________________
Od: "Philip Homburg" <philip.homburg@ripe.net> Komu: atlas-sw-probes@ripe.net Datum: 18.06.2020 18:03 Předmět: Re: [atlas-sw-probes] How to force the SW Probe to use particular IP Interface / IP Address?
On 2020/05/25 16:28 , ripe@brite.cz wrote:
Probe Address Discovery IPv4 IPv6 Connection Address - 2a01:510:xxxx:4888::1 IP Echo Service 95.85.x.x 2a01:510:xxxx:4888::1 The Local IP 192.168.1.1 2a01:510:xxxx:48ff::1
We have improved the selection of the local IPv4 and IPv6 addresses. Basically we prefer address from interfaces that have a default route.
This particular problem should now be solved. Please let me know if something is wrong.
For IPv6 it is different story. On the web page all the IPv6 are listed correctly, but measurements show "src_addr":"2a01:510:xxxx:4888::1" as well as the "Connection Address" does. While the Default Route it different interface with something like 2a01:510:d5:xxxx:xxxx:xxxx:xxxx:xxxx address.
For measurements, address selection is done by the Linux kernel. As far as I can tell, what happens here is that the interface with a default route (pppoe-wan) doesn't have a global IPv6 address. So the kernel has no way to prefer one address over another.
Philip
participants (3)
-
Michael Richardson
-
Philip Homburg
-
ripe@brite.cz