Как узнать ip-адрес шлюза в Linux


Прежде всего необходимо понять, что за шлюз вы пытаетесь определить.

Если вас интересует адрес шлюза по умолчанию, на который будут отправляться все пакеты для которых не прописаны дополнительные правила в таблице маршрутизации, то воспользуйтесь командой:

# route -n

Из вывода команды нас интересует строка с подсетью 0.0.0.0 и аналогичной маской, это и есть адрес шлюза по умолчанию.

0.0.0.0         192.168.3.1     0.0.0.0         UG    0      0        0  eth0

Искомый адрес 192.168.3.1, в малых сетях это как правило адрес роутера или сервера выполняющего роль шлюза в интернет. Если в вашем дистрибутиве не команды route (например в свежих centos надо ставить дополнительный пакет), то используйте команду:

$ ip route

И в этом случае ищите строку вида:

default via 10.1.1.254 dev enp2s0  proto static  metric 100

В случае если вас интересует внешний IP-адрес в сети интернет который будет отображаться у всех рабочих станций вашей локальной сети скрытых NAT, то вы можете воспользоваться web-сервисом https://2ip.ru или другим подобным.

 Найти адрес шлюза в интеренете

Но, иногда необходимо определить ip-адрес вашего шлюза находясь в консоли сервера и для этого можно использовать упрощенный вариант сайта определяющего ваш ip-адрес, на самом деле это те же самые сайты, но выдающие информацию в упрощенном виде.

Рассмотрим наиболее популярные:

# curl -s checkip.dyndns.org | sed -e 's/.*Current IP Address: //' -e 's/<.*$//' 
# curl ipinfo.io/ip
# wget -qO- http://ipecho.net/plain
# curl ident.me
# curl http://checkip.amazonaws.com
# curl http://smart-ip.net/myip

 Результатом выполнения такой команды будет ваш внешний IP-адрес в сети Internet:

# curl http://smart-ip.net/myip
37.193.236.61