Сценарий:
+---+
eth0| S | +----------+
internet ======| | | |------PC1
| / | | switch |------PC2
| |========| |------PC3
| R |eth1 +----------+
+---+
S / R: сервер как маршрутизатор
eth0: connection from the internet/other network
eth1: internal network
PC1,PC2,PC3: Ubuntu OS
* дополнительно к ПК4 подключен коммутатор, работающий в ОС Windows.
Я установил для ПК1, ПК2 и ПК4 автоматический DHCP, чтобы иметь доступ к сети и Интернету, но
PC3 is on static.
PC3 has an IP address same of a router(dhcp:interface=eth1). e.g.
PC3:(fake)
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
gateway 192.168.1.2
Неполадка:
ПК4 может получить доступ к сеть / интернет, пока
ПК1 и ПК2 не могут.
Наблюдение:
ОС Windows автоматически может обнаружить реальный шлюз (маршрутизатор), а
ОС Ubuntu - нет. :(
Как мы можем это исправить, если кто-то настроил статический ip-добавление с шлюзом (маршрутизатором)?
/ etc / network / interfaces
...
iface eth0 inet dhcp
post-up arp -i <iface> -s 192.168.1.2 <macaddr>
...
Честно говоря, это больше похоже на проблему пользователя, чем на технологическую. Просто не позволяйте людям в вашей домашней сети, если они не могут правильно настроить свои устройства.
При настройке адресов вручную люди, как правило, выбирают их в нижней части адресного пространства. Вы можете переместить шлюз на .254, установить пул DHCP на .100 - .199 и сохранить статически распределенные адреса в нижней части вашей подсети. Помните, чтобы документировать все (один пост - он будет делать!), Чтобы люди не использовали существующие распределения.
Вы также можете вручную установить таблицы ARP на ПК, чтобы указать 192.168.1.2 для интерфейса eth1 S / R. На ПК с Linux запустите sudo arp -i <iface> -s 192.168.1.2 <macaddr>
, где <iface>
- интерфейс Ethernet, скорее всего, eth0
. <macaddr>
- это аппаратный MAC-адрес адаптера eth1 в S / R, который можно найти, запустив ifconfig eth1
на сервере.
Если вы являетесь профессиональным сетевым администратором, у вас, скорее всего, уже есть навыки и бюджет на оборудование, чтобы предотвратить неправильную настройку хостов для нарушения работы сети.