Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Раздача интернета на несколько подсетей


Автор: Sanjik 28.8.2017, 05:36
У меня стоит Ubuntu 16.04 
Настраиваю на ней локальную сеть и у меня такая проблема:
несколько подсетей 172.17.3.0
172.18.3.0
172.19.3.0
172.20.3.0
172.21.3.0
нужно чтобы был интернет в каждой подсети
что сделано: прописаны маршруты в конце файла /etc/network/interfaces
Код

#Получает интернет на это интрефейсе
auto enp5s5
iface enp5s5 inet static
address 192.168.1.13
netmask 255.255.255.0

#Этот интерфейс смотрит в сеть
auto enp4s0f0
iface enp4s0f0 inet static
address 172.17.3.2
netmask 255.255.255.0

up route add -net 172.18.3.0 netmask 255.255.255.0 gw 172.17.3.2 enp4s0f0
up route add -net 172.19.3.0 netmask 255.255.255.0 gw 172.17.3.2 enp4s0f0
up route add -net 172.20.3.0 netmask 255.255.255.0 gw 172.17.3.2 enp4s0f0
up route add -net 172.21.3.0 netmask 255.255.255.0 gw 172.17.3.2 enp4s0f0
post-up /etc/nat


прописаны настройки iptables в файле /etc/nat
Код

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT

iptables -A OUTPUT -o enp5s5 -j ACCEPT

iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

iptables -t nat -A POSTROUTING -o enp5s5 -s 172.17.3.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp5s5 -s 172.18.3.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp5s5 -s 172.19.3.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp5s5 -s 172.20.3.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp5s5 -s 172.21.3.0/24 -j MASQUERADE

iptables -A FORWARD -p icmp -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -s 172.17.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -s 172.18.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -s 172.19.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -s 172.20.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT
iptables -A FORWARD -s 172.21.3.0/24 -p tcp -m conntrack --ctstate NEW -m multiport --dports 80,443 -j ACCEPT

iptables -A FORWARD -p tcp -m conntrack --ctstate NEW -m tcp -dport 53 -j ACCEPT
iptables -A FORWARD -p udp -m conntrack --ctstate NEW -m udp -dport 53 -j ACCEPT


Интернет есть только в подсети 172.17.3.0/24, а в остальных нет.
Подскажите пожалуйста, что нужно сделать?
Буду очень благодарен!!!

Автор: alezzz 14.9.2017, 11:50
Цитата(Sanjik @  28.8.2017,  05:36 Найти цитируемый пост)
address 172.17.3.2
netmask 255.255.255.0


я так понимаю в локальную сеть пинга тоже нет никуда кроме 172.17.3.0/24.

Автор: _zorn_ 14.9.2017, 18:06
А ip адреса на интерфейс по вашему не нужно прописывать ?
Куда будут долбиться компы из локальной сети 18 например, в космос ?
У них же наверное в качестве шлюза что то прописано ? Я так понимаю 172.18.3.2
Роуты только для твоего для компа на котором эти роуты прописаны. Они вообще не в тему в твоем случае (если я правильно понял задачу).

Код

auto enp4s0f0:1
iface enp4s0f0:1 inet static
address 172.18.3.2
netmask 255.255.255.0
auto enp4s0f0:2
iface enp4s0f0:2 inet static
address 172.19.3.2
netmask 255.255.255.0
...

и т.п.

А если на всех компах прописан 172.17.3.2 в качестве шлюза, то на компах и нужно таблицу маршрутизации править... Если конечно это именно то чего ты хочешь добиться.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)