У меня установлен сервер Ubuntu 12.04, поэтому у меня нет графического интерфейса. Когда я выполняю команду ifconfig, я не могу найти свой внутренний IP-адрес. Там написано inet addr: 127.0.0.1.
Вот вывод ifconfig -a
:
eth0 link encap:Ethernet HWaddr 00:06:4f:4a:66:f0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth1 link encap:Ethernet HWaddr 00:16:ec:05:c8:9c
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr 127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1800 errors:0 dropped:0 overruns:0 frame:0
Tx packets:1800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:143896 (143.b KB) TX bytes:143896 (143.8 KB)
вот содержимое файла etc / network / interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Если бы кто-то мог отредактировать это для меня, содержимое etc / network / interfaces должно быть в отдельных строках.
Вывод хоста askubuntu.com был:
;; connection timed out; no servers could be reached.
Я установил owncloud и webmin несколько месяцев назад и использовал их в течение месяца без проблем. Я думаю, что питание отключилось один день 2 месяца назад, и я никогда не включал сервер до вчерашнего дня. Я не сделал ничего такого, что могло бы повлиять на настройку Интернета, поэтому я не уверен, почему он больше не работает. Что касается топологии моей сети, у меня есть сетевая карта pci-e для ПК. Линия Ethernet идет от сетевой карты к коммутатору, а затем оттуда к модему / маршрутизатору.
источник
/etc/network/interfaces
в нем есть?ls
перечислит файлы в каталоге.ls -l
даст подробный список. Чтобы просмотреть содержимое определенного каталогаls -l /etc/network
,. Чтобы перейти в каталог и список содержимогоcd /etc/network ;ls -l
. Чтобы прочитать содержимоеetc/network/interfaces
(это файл)sudo pico /etc/network/interfaces
. (pico
легкий текстовый редактор - хорош для чтения и базового редактирования и менее пугающий, чемvi
.)Ответы:
Эти команды расскажут вам всю информацию о сети
или же
Если, как вы говорите, это дает только 127.0.0.1, то есть два варианта:
Ваша сетевая карта не подключена или не распознана системой
Ваш сетевой DHCP-сервер не работает или не подключен
источник
ip
вариант , а затем ( устарел ) .ifconfig
Это даст вам просто IP-адрес без какой-либо дополнительной информации.
источник
10.0.2.15 172.18.0.1 172.17.0.1 172.20.0.1 172.21.0.1 172.22.0.1 172.19.0.1
потому что я бегу некоторые контейнеры Docker;)Это то, что я сейчас рекомендую:
ip route get 8.8.8.8 | awk '{print $NF; exit}'
Преимущество этой команды в том, что вам не нужно знать, какой интерфейс вы используете (eth0? Eth1? Или, может быть, wlan0?), Вам не нужно фильтровать адреса локального хоста, адреса Docker, VPN-туннели и т. Д. и вы всегда получите IP-адрес, который в данный момент используется для интернет-подключений (это важно, например, когда вы подключены как через Ethernet, так и через Wi-Fi или через VPN и т. д.).
Это будет проверять не только то, что у вас настроен правильный IP-адрес на каком-то интерфейсе (например, при разборе выходных данных
ifconfig
), но также и то, что у вас есть таблица маршрутизации, настроенная для его правильного использования.Я нашел эту идею в этом ответе по Коллин Андерсон .
Я использую его в скрипте internalip в моей коллекции скриптов на GitHub , которую вы можете установить с помощью:
и использовать как:
или же:
и вы получите свой IP-адрес, который будет использоваться для соединения с IP-адресом TARGET . Цель по умолчанию ,
8.8.8.8
который является общественным DNS распознаватель Google, и хорошее значение по умолчанию для Интернета.Но если вы запустите его с другим IP:
Тогда вы получите:
потому что это ваш IP-адрес, который будет использоваться для соединения с 127.2.3.4 на интерфейсе обратной связи. Это полезно, когда ваша цель находится в локальной сети, VPN или другой специальной сети, и в этом случае для соединений может использоваться какой-либо другой IP-адрес, отличный от IP-адреса по умолчанию для доступа в Интернет.
Внешний IP
Чтобы проверить ваш внешний IP-адрес (тот, который серверы в Интернете видят при подключении к ним - который может отличаться от описанного здесь внутреннего IP-адреса), посмотрите этот ответ .
источник
8.8.8.8
это просто значение по умолчанию. В своем ответе я использовал127.2.3.4
в качестве примера. Вы также можете использовать некоторые IP-адреса в своей внутренней сети или в VPN. Дело в том, что у вас обычно не один внутренний IP-адрес, а несколько разных адресов, используемых для разных целей. Таким образом, вы можете найти тот, который на самом деле используется для соединений с данной целью.Я думаю, что стоит упомянуть, что при запуске ifconfig с параметром -a все интерфейсы будут отображаться независимо от того, имеет ли интерфейс IP.
при запуске только ifconfig будут отображаться только интерфейсы с назначенными IP-адресами.
Вот хороший трюк, который вы можете использовать для отображения только IP-адресов с использованием Perl.
Ваша сетевая карта распознается системой, поэтому она показывает eth0 и eth1
Вот быстрый способ присвоения IP-адреса вашему интерфейсу. Используйте соответствующий IP-адрес / подсеть соответственно.
тогда нам нужно добавить маршрут по умолчанию
Лучший,
источник
Эта команда покажет все IP-адреса для одного устройства:
Он напечатает одну или две строки вывода. Первый - это адрес inet / IPv4, а другой - inet6 / IPv6, если ваша система настроена для поддержки этого.
источник
В случае, если
ifconfig
команда не отображала IP-адрес, существует очень простой и легкий способ узнать IP-адрес компьютера с Ubuntu через графический интерфейс. Следуйте инструкциям ниже:Нажмите значок сети в области уведомлений и нажмите Информация о соединении .
Это вызывает окно, в котором есть некоторая информация, включая IP-адрес.
источник
Здесь уже есть много хороших ответов, но я подумал, что я бы хотел указать фактор, который обычно, но не обязательно, используется вместе с марионеткой для сбора различных фактов о системе. Основное преимущество facter является то , что она дает хороший чистый выход , который экономит вам все манипуляции с
grep
,sed
,awk
,cut
,perl
и т.д. Это не собирается сказать вам , какой интерфейс вы заинтересованы, но если вы знаете , что, то следующее дает вам IP без другого мусора для очистки:источник
команда ip
Вот вариант на
ip addr
пути.ip
имеет-o
опцию, которая позволяет поместить всю информацию в одну строку - это полезно для анализа с помощью инструментов, таких какawk
илиperl
. В сочетании с-4
опцией, мы будем видеть только адреса IPv4. Таким образом, вывод будет выглядеть примерно так (обратите внимание - замените wlan7 на интерфейс, который вы хотите проверить):Как видите, IP-адрес - это 4-й столбец / слово в выводе. Остальное - простое упражнение по разбору с помощью инструмента по вашему выбору. Здесь я использую Python:
То же самое, только с
<<<
подстановкой строки и команды$()
Лично я сохранил это как хорошую функцию в моем,
~/.bashrc
так что меньше набирается текста.Версия Perl и Ruby немного короче:
Wireshark
Если вы знакомы с использованием инструментов сетевого анализа, вы, вероятно, знаете, что для получения вашего ip-адреса все, что вам нужно сделать, это очистить кеш браузера, запустить захват Wireshark на определенном интерфейсе и посмотреть, какие HTTP-
GET
пакеты передаются. В столбце назначения будет показан ваш IP-адресисточник