Hey guys,
Here is simple Internet connectivity script that can be run from Gaia expert mode. Please do dos2unix and chmod 777 on it.
Below is output in my lab. Limitation is that it does not give too much indepth info, but basic output as far as access to the outside world (google dns, default gateway, routing)
[Expert@CP-GW:0]# ./gaia_internet_check.sh
Gaia Internet Connectivity Check
Host: CP-GW
Date: Mon Jan 19 09:03:29 EST 2026
Log: /var/log/internet_check_20260119_090329.log
Mode: interface='<auto>' source_ip='<auto>' count=3 timeout=2
[1] Interface status & IPv4 addresses
1: lo: <LOOPBACK,PROMISC,DYNAMIC,AUTOMEDIA,PORTSEL,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1000\ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000\ link/ether 50:01:00:06:00:00 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000\ link/ether 50:01:00:06:00:01 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000\ link/ether 50:01:00:06:00:02 brd ff:ff:ff:ff:ff:ff
5: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN mode DEFAULT qlen 1000\ link/gre 0.0.0.0 brd 0.0.0.0
6: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN mode DEFAULT qlen 1000\ link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
7: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT qlen 1000\ link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
8: eth2.100@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT qlen 1000\ link/ether 50:01:00:06:00:02 brd ff:ff:ff:ff:ff:ff
1: lo inet 127.0.0.1/8 scope host lo\ valid_lft forever preferred_lft forever
2: eth0 inet 172.16.10.249/24 brd 172.16.10.255 scope global eth0\ valid_lft forever preferred_lft forever
3: eth1 inet 2.3.4.5/29 brd 2.3.4.7 scope global eth1\ valid_lft forever preferred_lft forever
4: eth2 inet 172.31.10.249/24 brd 172.31.10.255 scope global eth2\ valid_lft forever preferred_lft forever
8: eth2.100 inet 172.31.11.249/24 brd 172.31.11.255 scope global eth2.100\ valid_lft forever preferred_lft forever
[2] Routing (default route is critical for Internet)
✅ Default route present: default via 172.16.10.1 dev eth0 proto 7
2.3.4.0/29 dev eth1 proto kernel scope link src 2.3.4.5
172.16.10.0/24 dev eth0 proto kernel scope link src 172.16.10.249
172.31.10.0/24 dev eth2 proto kernel scope link src 172.31.10.249
172.31.11.0/24 dev eth2.100 proto kernel scope link src 172.31.11.249
default via 172.16.10.1 dev eth0 proto 7
2.3.4.0/29 dev eth1 proto kernel scope link src 2.3.4.5
172.16.10.0/24 dev eth0 proto kernel scope link src 172.16.10.249
172.31.10.0/24 dev eth2 proto kernel scope link src 172.31.10.249
172.31.11.0/24 dev eth2.100 proto kernel scope link src 172.31.11.249
[3] Upstream gateway reachability (L2/L3)
Default gateway detected: 172.16.10.1 (dev eth0)
172.16.10.1 dev eth0 lladdr 48:3a:02:96:47:2d REACHABLE
172.16.10.177 dev eth0 lladdr 50:01:00:03:00:00 STALE
172.16.10.188 dev eth0 lladdr 50:00:00:02:00:00 STALE
Ping default gateway:
PING 172.16.10.1 (172.16.10.1) 56(84) bytes of data.
64 bytes from 172.16.10.1: icmp_seq=1 ttl=255 time=1.21 ms
64 bytes from 172.16.10.1: icmp_seq=2 ttl=255 time=0.483 ms
64 bytes from 172.16.10.1: icmp_seq=3 ttl=255 time=0.445 ms
--- 172.16.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.445/0.715/1.217/0.355 ms
✅ Gateway ping looks OK
[4] Internet reachability by IP (routing/NAT/ISP)
Ping test IP #1: 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=53 time=4.90 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=53 time=3.95 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=53 time=3.91 ms
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 3.914/4.256/4.902/0.459 ms
✅ Ping to 1.1.1.1 OK
Ping test IP #2: 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=114 time=6.57 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=114 time=5.52 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=114 time=5.64 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 5.525/5.914/6.576/0.478 ms
✅ Ping to 8.8.8.8 OK
[5] DNS resolution test
23.53.170.101 STREAM e13678.dscb.akamaiedge.net
23.53.170.101 DGRAM
23.53.170.101 RAW
✅ DNS resolution appears OK for www.microsoft.com
[6] TCP connectivity tests to www.microsoft.com
Testing TCP port 53 ...
www.microsoft.com [23.53.170.101] 53 (domain): Connection timed out
⚠️ TCP www.microsoft.com:53 FAILED (policy, NAT, ISP filtering, proxy, or routing)
Testing TCP port 80 ...
www.microsoft.com [23.53.170.101] 80 (http) open
✅ TCP www.microsoft.com:80 reachable
Testing TCP port 443 ...
www.microsoft.com [23.53.170.101] 443 (https) open
✅ TCP www.microsoft.com:443 reachable
[7] Optional HTTPS test (HTTP HEAD)
⚠️ curl not found; skipping HTTPS HEAD test.
Summary interpretation hints:
• No default route -> fix routing (or PBR) first.
• Can ping gateway but not public IP -> upstream/ISP/NAT/routing issue.
• Can ping public IP but DNS fails -> DNS servers/policy issue.
• DNS OK but TCP 443 fails -> firewall policy/NAT/proxy/ISP filtering issue.
Done. Log saved to: /var/log/internet_check_20260119_090329.log
Best,
Andy