Хорошо, таким образом, я испытываю затруднения при получении этой работы. Моя домашняя внутренняя сеть является беспроводной, и что я хочу сделать, имеют небольшую проводную сеть на другой подсети, подключенной к одной из моих машин Ubuntu. Устройствам на этой подсети нужны статические IP-адреса так share this connection
для моего eth0
интерфейс не будет работать. Идеально эта проводная сеть сможет соединиться с Интернетом, но это не важно.
Я прочитал несколько руководств по тому, как разбудить это и выполнение, но там конфликтую мнения о корректном способе сделать это. Большая часть его, кажется, рекомендует использовать iptables, но один сайт, я шел вчера, сказал, что это устарело (к сожалению, я не могу найти ссылку),
В настоящее время я включал передачу ipv4 на "ПК в середине"
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 взаимодействуют через интерфейс на ПК маршрутизации),
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 устройства.
Ну, я идиот. У меня не был настроен шлюз на машине 192.168.1.x. Он по-прежнему был настроен как 192.168.1.1 (которого не существует)
После того, как я изменил это, я теперь могу пинговать в обоих направлениях. И у меня есть доступ в интернет в сети 192.x.x.x.
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
У Вас очень хорошо может быть эта установка правильно, и это может иметь некоторое отношение к беспроводному интерфейсу, который Вы используете. Обычно способ сделать что-то вроде этого со специализированной точкой беспроводного доступа, которую Вы подключаете к контроллеру (в этом случае Ваш сервер) через Ethernet. проверьте ubnt.com, у них есть некоторые хорошие относительно дешевые.