Как узнать свой IP адрес
IP-адреса используются чтобы идентифицировать компьютеры с сети. Существуют локальный IP адрес, и внешний предоставляемый провайдером IP адрес вашего сервера, через который из сети интернет и приходят пакеты, в вашу локальную сеть. Обычно на несколько сотен пользователей, и соответственно столько же локальных сетей, провайдером выделяется один внешний IP с помощью технологии NAT, которая и регулирует правильный обмен данными.
Проще говоря, это фрактальное дело работает идентичным образом, как у вас дома. А именно, ваш домашний роутер, с помощью той же технологии , раздаёт ip адреса всем подключённым устройствам, и все они выходят в сеть с ip адресом вашего роутера. Который в свою очередь получен внешним устройством по технологии NAT. Таким образом мы доходим до крайнего узла, который подключён к сети интернет напрямую. Этот адрес является динамическим, который может меняться время от времени, это стоит учитывать если вы планируете, что-то настраивать...
IP этого крайнего узла, дальше мы его будем называть наш внешний IP адрес.
1)Итак начнём по порядку, с самого начала наших IP адресов:
Есть IP адрес используемый только для внутренних коммуникаций в системе, например вы можете на своём компьютере поднять web-сервер и обращаться к нему с этого же компьютера в качестве клиента. Этот вообще адрес не доступен извне, поскольку у каждого хоста он, вообще говоря, одинаковый 127.0.0.1 также он доступен по доменному имени localhost.
Как узнать внутренний IP адрес:
☯
Terminal:
⌕
≡
✕
user@mx:~ $ nslookup localhost Server: 192.168.0.1 Address: 192.168.0.1#53 Name: localhost Address: 127.0.0.1 Name: localhost Address: ::1
Внимание ip адрес Server, в данном случае, это локальный IP адрес нашего роутера.
2)Узнаём свой локальный IP адрес.
В данном случае мы можем увидеть много разной информации, особенно если на хосте полным полно сетевых интрефесов и служб из использующих. Искомый нами адрес, будет в той же сети, что и наш роутер, который его нам выдаёт.
Этот адрес может пригодиться, например если вы создали файловый сервер, или тот же web-сервер, но для коллективного доступа из вашей локальной сети. Или если вы настроили видео-сервер и подключаете к нему локальные IP камеры.
Данные ip адреса доступны из локальной сети, все участники могут видеть и пинговать друг-друга, но они всё-же не доступны из интернета.
или
☯
Terminal:
⌕
≡
✕
user@mx:~
$ sudo ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether XX:cX:aX:4X:X4:0X txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether XX:cX:aX:4X:X4:0X txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 417 bytes 32397 (31.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 417 bytes 32397 (31.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether XX:cX:aX:4X:X4:0X txqueuelen 1000 (Ethernet)
RX packets 929670 bytes 1087524751 (1.0 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 411193 bytes 40042043 (38.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::7ef8:fd87:501:5965 prefixlen 64 scopeid 0x20<link>
ether XX:cX:aX:4X:X4:0X txqueuelen 1000 (Ethernet)
RX packets 639089 bytes 620906586 (592.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 468162 bytes 75460146 (71.9 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
user@mx:~
$ ip addres
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 3c:7c:3f:5b:0b:0a brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether d8:c0:a6:42:a4:03 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.20/24 brd 192.168.0.255 scope global dynamic noprefixroute wlan0
valid_lft 79283sec preferred_lft 79283sec
inet6 fe80::7ef8:fd87:501:5965/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:51:e6:5b:f2 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
5: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:54:00:fa:b7:a6 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
10: vnet4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master virbr0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:a2:de:9c brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fea2:de9c/64 scope link
valid_lft forever preferred_lft forever
Видим, что в данном случае локальный адрес 192.168.0.20, и адрес шлюза для этой сети соответственно 192.168.0.1. На данном хосте есть шлюзы и для других сетей, но нас сейчас интересует только локальный ip адрес.
можно немного грепнуть(сократить с помощью фильтрации) этот вывод
☯
Terminal:
⌕
≡
✕
user@mx:~
$ sudo ifconfig | grep "inet"
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
inet 192.168.0.20 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::7ef8:fd87:501:5965 prefixlen 64 scopeid 0x20<link>
3)Узнать внешний ip адрес из консоли Linux
IP крайнго узла, дальше мы его будем называть наш внешний IP адрес, нам и нужно узнать,для настройки определённых служб, например сервера VPN для нашего клиента.
Ну, а теперь узнаём внешний IP для этого естественно нужен будет активный доступ к интернету.
Данный метод работоспособен для Ubuntu, Centos, Gentoo и прочих дистрибутивов:
☯
Terminal:
⌕
≡
✕
user@mx:~ $ curl ifconfig.me 77.777.888.33
Именно ради получения этого внешнего ip адреса, в основном и была написана эта статья.
-
Создано 28.12.2022 06:44:36
-
Roman Sakhno

Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.