КАК я Даю доступ в Интернет VLAN?

Проблема, с которой я сталкиваюсь, следующие.

Я должен дать доступ в Интернет нескольким VLAN через единственный маршрутизатор Ubuntu 16.04.

VLAN 8021q отмечены и прибывают в маршрутизатор в интерфейсе ens1f1. VLAN называют vlan10, vlan20, vlan30, и vlan40. Интернет-восходящий канал подключен к enp0s25. Enp0s25 имеет статический общедоступный IP-адрес, присвоенный ISP. Восходящим устройством, подключенным к Enp0s25, не является способный VLAN.

Я спрашиваю Вас мудрые и высохшие инженеры или пакет manglers там, если Вы объяснили бы мне, как я могу направить, образовать мост, NAT или пакеты катапульты между теми VLAN и что большая путаница инфраструктуры мы называем Интернет. Тем временем я отступлю к своей ошибке бормотания стойки 418 (RFC 2324).

С уважением,

Kevin

0
задан 6 February 2018 в 08:53

1 ответ

Этот ответ предполагает, что Вы используете iptables брандмауэр на Вашем 'маршрутизаторе' и не что-то 'более легкое' как ufw, и это Вы правильно настроили маршрутизатор для обработки VLAN в данном интерфейсе.

То, что Вы ищете, называют "NAT". Это сделано по умолчанию на многих маршрутизаторах, однако по умолчанию не сделан в системах Linux.

Необходимо будет позволить IPv4, передающему также в системе заставить его работать. Добавьте это в конец /etc/sysctl.conf:

net.ipv4.ip_forward = 1

Можно заставить это применяться путем выполнения sudo sysctl -p впоследствии. Это включает способности передать трафик через.

Так как Ваш интернет-маршрут по умолчанию отсутствует к Общедоступному Интернету, но Вы хотите настроить NAT так, чтобы другие машины VLAN могли выйти в Интернет через Вашу систему, необходимо было бы настроить что-то вроде этого в iptables:

iptables -t nat -A POSTROUTING -s ip.add.re.ss/24 ! -d ip.add.re.ss/24 -m comment --comment "Allow vlanXX to go to the Internet, masquerade as the public IP." -j MASQUERADE

Это - правило в таблице NAT для того, как направить трафик после того, как это прибыло в систему. Вам будут нужны три из этих правил, один для каждой подсети каждого VLAN. Корректироваться ip.add.re.ss и vlanXX соответственно соответствовать информации для Вашей сети конкретно.

Вы также должны иметь ACCEPT правило в filter таблица iptables для FORWARD, и Вы обычно делали бы это интерфейсом, как это, обновляя XX объекты, чтобы быть числом VLAN:

iptables -t filter -A FORWARD -o ens1f1.XX -m comment --comment "NAT for vlanXX" -j ACCEPT
iptables -t filter -A FORWARD -i ens1f1.XX -m comment --comment "NAT for vlanXX" -j ACCEPT

После того как Вы сделали это, необходимо удостовериться, что Вы сохраняете iptables правила. Идеально Вы сделали бы это, если бы Вы не имели установленным сначала и сказали это "Да", когда это просит сохранять Ваши правила:

sudo apt-get install iptables-persistent

... и это настроило бы iptables правила при начальной загрузке правильно, а также сохраняют правила. Если Вы уже имеете iptables-persistent, затем необходимо обновить правила, которые это загружает:

sudo su -c 'iptables-save > /etc/iptables/rules.v4'

... и теперь NAT MASQUERADE правило будет существовать каждый раз, когда Вы загружаетесь.

1
ответ дан 31 October 2019 в 01:44

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

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