Правильные настройки маршрутизации для сетевых адаптеров для использования Ubuntu 16.04 в качестве маршрутизатора

Хорошо, так что у меня проблемы с этим. Моя домашняя внутренняя сеть является беспроводной, и я хочу сделать небольшую проводную сеть в другой подсети, подключенной к одной из моих машин Ubuntu. Устройствам этой подсети нужны статические IP-адреса, поэтому share this connection для моего интерфейса eth0 не будет работать. В идеале эта проводная сеть сможет подключаться к Интернету, но это не существенно.

Я прочитал несколько руководств о том, как это сделать, но есть противоречивые мнения по правильному пути сделать это. Многие из них, похоже, рекомендуют использовать iptables, но один сайт, на котором я был вчера, сказал, что это устарело (к сожалению, я не могу найти ссылку)

В настоящее время я включил переадресацию ipv4 на " pc в середине "

will@will-Inspiron-7520 ~ 15:27:52 $ sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1

и настроили маршрут на одном из ПК в беспроводной сети для маршрутизации запросов для подсети 192.168.1.0 на 10.10.10.10 (интерфейс wlan0 на маршрутизации pc)

root@ubuntuserver will 15:29:57 # netstat -nra Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 wlan0 10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0 10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0 192.168.1.0 10.10.10.10 255.255.255.0 UG 0 0 0 wlan0

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

will@will-Inspiron-7520 ~ 15:27:40 $ tracepath -n 192.168.1.91 1?: [LOCALHOST] pmtu 1500 1: 192.168.1.91 0.887ms reached 1: 192.168.1.91 0.734ms reached Resume: pmtu 1500 hops 1 back 1

, но попытка выполнить одно и то же с устройства wlan в этом

root@ubuntuserver will 15:33:13 # tracepath -n 192.168.1.91 1?: [LOCALHOST] pmtu 1500 1: 10.10.10.10 3.480ms 1: 10.10.10.10 3.315ms 2: no reply 3: no reply 4: no reply

дамп tcp от маршрутизатора во время этой операции выглядит так:

root@will-Inspiron-7520 /home/will 15:33:18 # tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 15:33:38.497861 IP ubuntuserver.ftb.59424 > 192.168.1.91.44446: UDP, length 1472 15:33:39.499752 IP ubuntuserver.ftb.59424 > 192.168.1.91.44447: UDP, length 1472 15:33:40.487270 IP 192.168.1.250.34039 > 239.255.255.250.1900: UDP, length 171 15:33:40.500022 IP ubuntuserver.ftb.59424 > 192.168.1.91.44448: UDP, length 1472 15:33:41.487966 IP 192.168.1.250.34039 > 239.255.255.250.1900: UDP, length 171 15:33:41.502207 IP ubuntuserver.ftb.59424 > 192.168.1.91.44449: UDP, length 1472 15:33:42.488416 IP 192.168.1.250.34039 > 239.255.255.250.1900: UDP, length 171 15:33:42.503148 IP ubuntuserver.ftb.59424 > 192.168.1.91.44450: UDP, length 1472 15:33:43.488986 IP 192.168.1.250.34039 > 239.255.255.250.1900: UDP, length 171 15:33:43.503342 IP ubuntuserver.ftb.59424 > 192.168.1.91.44451: UDP, length 1472 15:33:43.503741 ARP, Request who-has 192.168.1.91 tell 192.168.1.250, length 28 15:33:43.504546 ARP, Reply 192.168.1.91 is-at 00:80:45:55:12:e8 (oui Unknown), length 46 15:33:44.258714 IP 192.168.1.250.17500 > 192.168.1.255.17500: UDP, length 177 15:33:44.523228 IP ubuntuserver.ftb.59424 > 192.168.1.91.44452: UDP, length 1472 15:33:45.547240 IP ubuntuserver.ftb.59424 > 192.168.1.91.44453: UDP, length 1472 15:33:46.571280 IP ubuntuserver.ftb.59424 > 192.168.1.91.44454: UDP, length 1472 15:33:47.540967 IP ubuntuserver.ftb.59424 > 192.168.1.91.44455: UDP, length 1472 15:33:48.523486 IP ubuntuserver.ftb.59424 > 192.168.1.91.44456: UDP, length 1472 ^C 18 packets captured 18 packets received by filter 0 packets dropped by kernel

таблица маршрутизации на маршрутизаторе выглядит так:

root@will-Inspiron-7520 /home/will 15:33:49 # netstat -nra Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 wlan0 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Я не могу получить 192.168. 1.250, чтобы войти в качестве шлюза через gui, но когда я запустил sudo route delete -net 192.168.1.0 netmask 255.255.255.0 gw 0.0.0.0 && sudo route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.250, моя таблица маршрутизации изменится на эту

root@will-Inspiron-7520 /home/will 15:37:33 # netstat -nra Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 10.10.10.1 0.0.0.0 UG 0 0 0 wlan0 10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0 192.168.1.0 192.168.1.250 255.255.255.0 UG 0 0 0 eth0

, которая, в свою очередь, изменяет tcpdump на этот

root@will-Inspiron-7520 /home/will 15:39:35 # tcpdump tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 15:39:40.490804 IP 192.168.1.250.46819 > 239.255.255.250.1900: UDP, length 171 15:39:40.553050 IP ubuntuserver.ftb.33901 > 192.168.1.91.44446: UDP, length 1472 15:39:41.491671 IP 192.168.1.250.46819 > 239.255.255.250.1900: UDP, length 171 15:39:41.554906 IP ubuntuserver.ftb.33901 > 192.168.1.91.44447: UDP, length 1472 15:39:42.492371 IP 192.168.1.250.46819 > 239.255.255.250.1900: UDP, length 171 15:39:42.555628 IP ubuntuserver.ftb.33901 > 192.168.1.91.44448: UDP, length 1472 15:39:43.493366 IP 192.168.1.250.46819 > 239.255.255.250.1900: UDP, length 171 15:39:43.557677 IP ubuntuserver.ftb.33901 > 192.168.1.91.44449: UDP, length 1472 15:39:44.365950 IP 192.168.1.250.17500 > 192.168.1.255.17500: UDP, length 177 15:39:44.659103 IP ubuntuserver.ftb.33901 > 192.168.1.91.44450: UDP, length 1472 15:39:45.581510 IP ubuntuserver.ftb.33901 > 192.168.1.91.44451: UDP, length 1472 15:39:46.605286 IP ubuntuserver.ftb.33901 > 192.168.1.91.44452: UDP, length 1472 15:39:47.628312 IP ubuntuserver.ftb.33901 > 192.168.1.91.44453: UDP, length 1472 15:39:48.652259 IP ubuntuserver.ftb.33901 > 192.168.1.91.44454: UDP, length 1472 15:39:49.697026 IP ubuntuserver.ftb.33901 > 192.168.1.91.44455: UDP, length 1472 15:39:50.599268 IP ubuntuserver.ftb.33901 > 192.168.1.91.44456: UDP, length 1472 15:39:51.622447 IP ubuntuserver.ftb.33901 > 192.168.1.91.44457: UDP, length 1472 15:39:52.563705 IP ubuntuserver.ftb.33901 > 192.168.1.91.44458: UDP, length 1472 15:39:53.669767 IP ubuntuserver.ftb.33901 > 192.168.1.91.44459: UDP, length 1472 15:39:54.594106 IP ubuntuserver.ftb.33901 > 192.168.1.91.44460: UDP, length 1472 15:39:55.616774 IP ubuntuserver.ftb.33901 > 192.168.1.91.44461: UDP, length 1472 15:39:56.640204 IP ubuntuserver.ftb.33901 > 192.168.1.91.44462: UDP, length 1472

Может ли кто-нибудь сказать мне, где я ошибаюсь? Как я уже сказал, не обязательно, чтобы сеть 192.168.1.0 могла попасть в Интернет (хотя это было бы желательно), но минимальным будет подсеть 10.10.10.0, которая сможет видеть устройства 192.168.1.0.

2
задан 17 April 2017 в 19:07

9 ответов

У вас вполне может быть эта настройка правильно, и это может иметь какое-то отношение к используемому беспроводному интерфейсу. Как правило, способ сделать что-то вроде этого - это выделенная точка беспроводного доступа, которую вы подключаете к контроллеру (в данном случае к вашему серверу) через Ethernet. проверьте ubnt.com, у них есть хорошие относительно дешевые.

0
ответ дан 18 July 2018 в 14:46

1.- Шаг. Если вы хотите добавить проводное оборудование во внутреннюю сеть, вы должны добавить сетевую карту (eth1) и переключатель не менее 5-8 портов.

2.- Установите DHCP-сервер и сделайте IP-резервирование для проводных компьютеров.

3.- Выполните IPTables

#!/bin/sh iptables -F iptables -X iptables -Z iptables -t nat -F iptables --delete-chain iptables --table nat --delete-chain iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT modprobe ip_conntrack modprobe ip_conntrack_ftp echo 1 > /proc/sys/net/ipv4/ip_forward # Internet for Wireless iptables -t nat -A POSTROUTING -s 192.168.1.X/X -o wlan0 -j MASQUERADE # Internet for Wired iptables -t nat -A POSTROUTING -s 192.168.2.X/X -o wlan0 -j MASQUERADE
1
ответ дан 18 July 2018 в 14:46

Ну, я идиот. У меня не было шлюза, установленного правильно на машине 192.168.1.x. Он по-прежнему настроен как 192.168.1.1 (которого не существует)

Как только я изменил это, я теперь могу выполнить ping в обоих направлениях. И у меня есть доступ в Интернет по сети 192.x.x.x.

1
ответ дан 18 July 2018 в 14:46

У вас вполне может быть эта настройка правильно, и это может иметь какое-то отношение к используемому беспроводному интерфейсу. Как правило, способ сделать что-то вроде этого - это выделенная точка беспроводного доступа, которую вы подключаете к контроллеру (в данном случае к вашему серверу) через Ethernet. проверьте ubnt.com, у них есть хорошие относительно дешевые.

0
ответ дан 24 July 2018 в 20:28
  • 1
    Я понимаю, что есть выделенное оборудование, чтобы делать то, что я хочу, но я бы хотел использовать оборудование, которое у меня уже есть. В Интернете есть множество руководств для использования Ubuntu (или других дистрибутивов) в качестве маршрутизатора, но я явно что-то пропускаю, потому что он просто не хочет работать должным образом. Я не могу расшифровать вывод tcpdump, но похоже, что пакет доходит до «маршрутизатора». Для ясности здесь ubuntuserver.ftb на самом деле является клиентом в этой настройке. will-Inspiron-7520 - маршрутизатор, а 192.168.1.91 - единственное устройство во второй подсети – Will 20 April 2017 в 19:00
  • 2
    В точку. Моя теория заключалась в том, что она только превращала ее в «маршрутизатор». потому что беспроводная карта в завещании Inspiron-7520 не поддерживает то, что вы пытаетесь сделать. Я только говорю это, потому что я попробовал нечто подобное некоторое время назад и столкнулся с этим ограничением. Если вы можете подключиться к 10.0.0.0 \ 24 с помощью кабеля Ethernet и использовать этот интерфейс, вам лучше повезти. В основном с большинством беспроводных карт вы не можете подключаться как клиент к сети, к которой вы пытаетесь перейти. Там просто не хватает интерфейсов. Вам нужно будет использовать один для отправки, а другой - для получения. надеюсь, это поможет – deputy_D 20 April 2017 в 21:28
  • 3
    Я связан с eth0. Может быть, я не был ясен. Сеть 192.x.x.x жестко подключена, сеть 10.x.x.x является Wi-Fi. В любом случае я сейчас работаю, это была ошибка с моей стороны с клиентом в сети 192.x.x.x. – Will 20 April 2017 в 22:22

1.- Шаг. Если вы хотите добавить проводное оборудование во внутреннюю сеть, вы должны добавить сетевую карту (eth1) и переключатель не менее 5-8 портов.

2.- Установите DHCP-сервер и сделайте IP-резервирование для проводных компьютеров.

3.- Выполните IPTables

#!/bin/sh iptables -F iptables -X iptables -Z iptables -t nat -F iptables --delete-chain iptables --table nat --delete-chain iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT modprobe ip_conntrack modprobe ip_conntrack_ftp echo 1 > /proc/sys/net/ipv4/ip_forward # Internet for Wireless iptables -t nat -A POSTROUTING -s 192.168.1.X/X -o wlan0 -j MASQUERADE # Internet for Wired iptables -t nat -A POSTROUTING -s 192.168.2.X/X -o wlan0 -j MASQUERADE
1
ответ дан 24 July 2018 в 20:28

Ну, я идиот. У меня не было шлюза, установленного правильно на машине 192.168.1.x. Он по-прежнему настроен как 192.168.1.1 (которого не существует)

Как только я изменил это, я теперь могу выполнить ping в обоих направлениях. И у меня есть доступ в Интернет по сети 192.x.x.x.

1
ответ дан 24 July 2018 в 20:28

У вас вполне может быть эта настройка правильно, и это может иметь какое-то отношение к используемому беспроводному интерфейсу. Как правило, способ сделать что-то вроде этого - это выделенная точка беспроводного доступа, которую вы подключаете к контроллеру (в данном случае к вашему серверу) через Ethernet. проверьте ubnt.com, у них есть хорошие относительно дешевые.

0
ответ дан 31 July 2018 в 23:30
  • 1
    Я понимаю, что есть выделенное оборудование, чтобы делать то, что я хочу, но я бы хотел использовать оборудование, которое у меня уже есть. В Интернете есть множество руководств для использования Ubuntu (или других дистрибутивов) в качестве маршрутизатора, но я явно что-то пропускаю, потому что он просто не хочет работать должным образом. Я не могу расшифровать вывод tcpdump, но похоже, что пакет доходит до «маршрутизатора». Для ясности здесь ubuntuserver.ftb на самом деле является клиентом в этой настройке. will-Inspiron-7520 - маршрутизатор, а 192.168.1.91 - единственное устройство во второй подсети – Will 20 April 2017 в 19:00
  • 2
    В точку. Моя теория заключалась в том, что она только превращала ее в «маршрутизатор». потому что беспроводная карта в завещании Inspiron-7520 не поддерживает то, что вы пытаетесь сделать. Я только говорю это, потому что я попробовал нечто подобное некоторое время назад и столкнулся с этим ограничением. Если вы можете подключиться к 10.0.0.0 \ 24 с помощью кабеля Ethernet и использовать этот интерфейс, вам лучше повезти. В основном с большинством беспроводных карт вы не можете подключаться как клиент к сети, к которой вы пытаетесь перейти. Там просто не хватает интерфейсов. Вам нужно будет использовать один для отправки, а другой - для получения. надеюсь, это поможет – deputy_D 20 April 2017 в 21:28
  • 3
    Я связан с eth0. Может быть, я не был ясен. Сеть 192.x.x.x жестко подключена, сеть 10.x.x.x является Wi-Fi. В любом случае я сейчас работаю, это была ошибка с моей стороны с клиентом в сети 192.x.x.x. – Will 20 April 2017 в 22:22

1.- Шаг. Если вы хотите добавить проводное оборудование во внутреннюю сеть, вы должны добавить сетевую карту (eth1) и переключатель не менее 5-8 портов.

2.- Установите DHCP-сервер и сделайте IP-резервирование для проводных компьютеров.

3.- Выполните IPTables

#!/bin/sh iptables -F iptables -X iptables -Z iptables -t nat -F iptables --delete-chain iptables --table nat --delete-chain iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT modprobe ip_conntrack modprobe ip_conntrack_ftp echo 1 > /proc/sys/net/ipv4/ip_forward # Internet for Wireless iptables -t nat -A POSTROUTING -s 192.168.1.X/X -o wlan0 -j MASQUERADE # Internet for Wired iptables -t nat -A POSTROUTING -s 192.168.2.X/X -o wlan0 -j MASQUERADE
1
ответ дан 31 July 2018 в 23:30

Ну, я идиот. У меня не было шлюза, установленного правильно на машине 192.168.1.x. Он по-прежнему настроен как 192.168.1.1 (которого не существует)

Как только я изменил это, я теперь могу выполнить ping в обоих направлениях. И у меня есть доступ в Интернет по сети 192.x.x.x.

1
ответ дан 31 July 2018 в 23:30

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

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