Клиент получает IP-адрес, но не интернет

Я наткнулся на довольно специфическую проблему, и у меня нет знаний, чтобы решить ее самостоятельно. Я настроил сервер Ubuntu (16.04.2), который будет действовать как маршрутизатор. До сих пор я настроил два сетевых интерфейса: WAN и LAN. Dns также работает, клиент получает локальный IP-адрес, но не имеет доступа к Интернету, возможно, из-за неправильной настройки правил брандмауэра. Примечание: переадресация портов также включена.

Ifconfig

enp0s3 Link encap:Ethernet inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:28 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 enp0s8 Link encap:Ethernet inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2190 errors:0 dropped:0 overruns:0 frame:0 TX packets:41 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

Ifconfig

#WAN auto enp0s3 iface enp0s3 inet dhcp #LAN auto enp0s8 iface enp0s8 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255

Маршрутизация

Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 enp0s3 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8

Маршрутизация

Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 3 704 ACCEPT all -- enp0s8 any anywhere anywhere 12 997 ACCEPT all -- enp0s3 any anywhere anywhere ctstate RELATED,ESTABLISHED Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- enp0s8 enp0s3 anywhere anywhere 0 0 ACCEPT all -- enp0s3 enp0s8 anywhere anywhere ctstate RELATED,ESTABLISHED Chain OUTPUT (policy ACCEPT 12 packets, 904 bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 1 packets, 48 bytes) pkts bytes target prot opt in out source destination 7 520 MASQUERADE all -- any enp0s3 anywhere anywhere

rc.local

Я использую файл rc.local для использования этих строк после загрузки.

iptables -P INPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i enp0s8 -j ACCEPT iptables -A INPUT -i enp0s3 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT iptables -A FORWARD -i enp0s3 -o enp0s8 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

rc.local

enp0s3 flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255 RX packets 8 RX errors 0 dropped 0 overruns 0 frame 0 TX packets 221 TX errors 0 dropped 0 overrunes 0 carrier 0 collisions 0

Может кто-нибудь, пожалуйста, объясните мне, что мне не хватает? Пришлось набрать все из нескольких терминалов, чтобы могли быть ошибки. Я буду продолжать исправлять, если это необходимо.

Спасибо!

1
задан 13 June 2017 в 16:51

2 ответа

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

Я думаю, что ваша основная проблема в том, что вы не правильно настроить машину для работы в качестве маршрутизатора. Чтобы функционировать как два маршрутизатора NIC, шлюз по умолчанию для всего трафика в вашей локальной сети должен переходить на WAN IP, который, по-видимому, является enp0s3 в вашем случае.

Также обратите внимание, что IP-адреса 10.x.x.x (и 192.168.0.0/16) по определению не поддаются обработке. Я ожидал бы, что интернет-адрес подсети маршрутизатора будет иметь зарегистрированный IP-адрес, если только его трафик не находится в подсети, где весь трафик переходит в другой модем или маршрутизатор.

Предполагая, что ошибки, которые я вижу в то, что вы опубликовали, действительно опечатывается, а не ошибки конфигурации, то, что вы создали, похоже, скорее является переадресатором моста / пакета, чем маршрутизатором. WAN, настроенная вами, больше похожа на другую подсеть LAN, поэтому я не удивлен, что трафик не попадает в Интернет.

Поскольку вы не установили какое-либо программное обеспечение маршрутизатора, и поскольку маршрутизаторы обычно имеют как минимум три интерфейса на них (не включая DMZ), вы будете контролировать всю маршрутизацию в своей конфигурации через таблицу маршрутизации. Вы добавили бы маршруты с помощью команды

route add

Достаточно просто, чтобы использовать, и если вы допустили ошибку, вы можете удалить маршрут с помощью команды

route del

Страница руководства для этого команда относительно понятна.

Это чрезмерное упрощение, но в принципе, enp0s3 будет IP-адресом класса C, доступен из Интернета. enp0s8 будет подсеть вашего собственного изобретения (например, 192.168.0.1/24), где IP-адрес, назначенный для enp0s3, является шлюзом по умолчанию.

Ваша таблица маршрутизации может быть проверена путем ввода

route -n
0
ответ дан 18 July 2018 в 11:45

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

Я думаю, что ваша основная проблема в том, что вы не правильно настроить машину для работы в качестве маршрутизатора. Чтобы функционировать как два маршрутизатора NIC, шлюз по умолчанию для всего трафика в вашей локальной сети должен переходить на WAN IP, который, по-видимому, является enp0s3 в вашем случае.

Также обратите внимание, что IP-адреса 10.x.x.x (и 192.168.0.0/16) по определению не поддаются обработке. Я ожидал бы, что интернет-адрес подсети маршрутизатора будет иметь зарегистрированный IP-адрес, если только его трафик не находится в подсети, где весь трафик переходит в другой модем или маршрутизатор.

Предполагая, что ошибки, которые я вижу в то, что вы опубликовали, действительно опечатывается, а не ошибки конфигурации, то, что вы создали, похоже, скорее является переадресатором моста / пакета, чем маршрутизатором. WAN, настроенная вами, больше похожа на другую подсеть LAN, поэтому я не удивлен, что трафик не попадает в Интернет.

Поскольку вы не установили какое-либо программное обеспечение маршрутизатора, и поскольку маршрутизаторы обычно имеют как минимум три интерфейса на них (не включая DMZ), вы будете контролировать всю маршрутизацию в своей конфигурации через таблицу маршрутизации. Вы добавили бы маршруты с помощью команды

route add

Достаточно просто, чтобы использовать, и если вы допустили ошибку, вы можете удалить маршрут с помощью команды

route del

Страница руководства для этого команда относительно понятна.

Это чрезмерное упрощение, но в принципе, enp0s3 будет IP-адресом класса C, доступен из Интернета. enp0s8 будет подсеть вашего собственного изобретения (например, 192.168.0.1/24), где IP-адрес, назначенный для enp0s3, является шлюзом по умолчанию.

Ваша таблица маршрутизации может быть проверена путем ввода

route -n
0
ответ дан 24 July 2018 в 19:51
  • 1
    Как я уже отмечал ранее, я не могу предоставить прямую копию вставки информации, так как я запускаю серверную версию, нет графического интерфейса и нет возможности выбирать и копировать-вставлять. Я скопировал формат ifconfig плюс другие сегменты кода и заменил числа. К сожалению, я забыл заменить значения на enp0s8 (которые были изменены сейчас). Что касается класса C IPaddress, спасибо за подсказку, не знал об этом. Но я работаю на виртуальной машине, эти изменения могут быть сделаны позже, так как это краткое введение для меня к теме маршрутизаторов, реальная вещь будет экзаменом. – Jens Kuipers 13 June 2017 в 14:10
  • 2
    Я загляну в команду маршрута, вы можете, возможно, изучить ее еще раз, так как я ее модифицировал? – Jens Kuipers 13 June 2017 в 14:12

Другие вопросы по тегам:

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