Как определить eth0 адрес шлюза, когда это не шлюз по умолчанию?

Я не могу говорить за официальные выпуски, но debian выпуски без клейма тех приложений ("iceweasel" и "браузер хрома") пользуются libjpeg*.so библиотекой.

Попытка, временно перемещающаяся/usr/lib/libjpeg* где-то в другом месте и, видит, повреждает ли это Firefox или хром.

однако libjpeg делает такое хорошее задание, я ожидал бы, что основанные на завоевателе браузеры будут использовать его также... Более вероятно проблема, с которой Вы сталкиваетесь, в более высоком уровне, libgtk, возможно. если у Вас есть binutils, установил Вас, может использовать команду 'ldd' для наблюдения, какие .so файлы связаны

6
11.04.2014, 21:24
3 ответа

Предположим, что eth0 - это DHCP-клиентский интерфейс.
Один из вариантов - проверка файлов аренды DHCP-клиента dhcpd.leases
Место и имя зависит от системы; на некоторых системах Fedora файлы под /var/lib/dhclient/ являются файлами аренды, где интересная строка :

  option routers 192.168.1.1;

Другой вариант, который работал для меня на блоке funtoo: dhcpcd -U eth0
распечатывает красивую таблицу, готовую к исходному коду в скриптах

broadcast_address=192.168.1.255
dhcp_lease_time=86400
dhcp_message_type=5
dhcp_server_identifier=192.168.1.1
domain_name_servers='192.168.1.1 192.168.1.101'
ip_address=192.168.1.101
network_number=192.168.1.0
routers=192.168.1.1
subnet_cidr=24
subnet_mask=255.255.255.0

Есть и другие опции, такие как dhcping, dhclient -n, согласно google и manpages, но они не работают на моих ящиках, но могут сработать на вас.

1
27.01.2020, 20:28

Ваша ошибка в том, что вы связываете информацию в выводе netstat с интерфейсом, а не с адресом назначения. Адреса назначения могут иметь связанные шлюзы. Когда вы настраиваете свою сеть, вы связываете интерфейсы и шлюзы с наборами адресов назначения - поэтому вопрос, который вам нужно задать: "Какой шлюз для адресов назначения в 192.168.98/24?". Я готов поспорить, что его не должно быть, что устройства в этом диапазоне либо соединены мостом, либо напрямую подключены к этому ethernet.

Обратите внимание, что ваш маршрут по умолчанию проходит через ppp0 (последняя строка - это маршрут с подстановочным знаком, маска равна нулю, так что никакие биты не сравниваются, поэтому пакеты для этих адресов отправляются через ppp0). Таким образом, пакеты для любого адресата, не входящего в 127.xx.xx.xx или 192.168.98.xx, в конечном итоге будут соответствовать маске wildcard и будут отправлены через ppp0. Теперь, поскольку это протокол "точка-точка", каждый пакет, отправленный по этому интерфейсу, попадает на единственное устройство, имеющее прямой адрес на этом канале, - устройство на другом его конце. Нет необходимости указывать шлюз для него, потому что каждый пакет, отправленный через этот интерфейс, отправляется через это устройство, независимо от того, является ли его Интернет-получателем это устройство или нет.

Теперь: если у вас есть маршрутизатор, доступный через eth0, который вы используете, когда можете, этот маршрутизатор почти наверняка имеет IP-адрес в диапазоне 192.168.98.xx, по крайней мере, скорее всего, не 192.168.98.1, и когда этот маршрутизатор включен и действительно подключен к Интернету, вы хотите, чтобы ваш маршрут по умолчанию, маршрут для всего, что не подключено напрямую к локальной сети, был по умолчанию через 192. 168.98.1

Возможно, у вас используется более новая (это относительный термин, она существует уже очень давно) команда ip, попробуйте ip route и, если это даст вам какой-то результат, попробуйте ip route help. В противном случае попробуйте route help.


Итак, ваш интерфейс eth0 просто не имеет адреса шлюза. Возможно, есть другое устройство или несколько устройств, подключенных к этому ethernet, готовых служить шлюзом. Вы говорите, что в вашей сети есть тот, который отвечает на (чисто условный) 1. Ни один закон не говорит, что он должен иметь такой адрес, и ни один закон не говорит, что он должен рекламировать свое присутствие. Есть несколько распространенных способов, самый распространенный из которых заключается в том, что ящики, на которых установлено программное обеспечение для маршрутизации, также запускают серверы dhcp и сообщают о себе всем, кто говорит dhcp, таким образом. Ответ MolbOrg'а дает довольно типичную схему настройки, но все, что кто-либо может предложить на данный момент, будет более или менее соответствовать вашей конкретной сети.

4
27.01.2020, 20:28
Linux:

    You'll need to open a Terminal. Depending on your Linux distribution, it can be located in the menu items at the top, or at the bottom of your screen. In this example, we will use Fedora. Click Applications > System Tools > Terminal.
    When terminal is open, type the following command: ip route | grep default
    The output of this should look something like the following:
    joe$ ip route | grep default
    default via 192.168.1.1 dev eth0 proto static
    In this example, again, 192.168.1.1 is your default gateway (router) IP address.

enter image description here

Щелкните здесь, чтобы получить дополнительную информацию по этой теме: - https://devilzlinux.blogspot.in/2017/04/how-to-find-your-gateway-ip.html

0
27.01.2020, 20:28

Теги

Похожие вопросы