@NorthenDigital

Как настроить маршрутизацию VLAN с использованием Debian в качестве роутера?

Всех приветствую.

Имеется задача развернуть лабораторный стенд, где в качестве маршрутизатора выступает Debian, к нему подключены 5 сетевых адаптеров (4 из которых различные VLAN и 1 - выход в Интернет).
Необходимо организовать связь между разными VLAN по определенному признаку (например, дать доступ из первого в четвёртый и обратно, запретить первым трём VLAN доступ к сети Интернет, но обязательно разрешить устройствам четвёртого VLAN).
Сначала показалось, что задача проще некуда: почитал статьи в Интернете (в том числе и тут) и понял, что нужно создать виртуальные адаптеры с тегированным трафиком, назначить адреса и перезапустить сетевую службу, но не сработало.
Тогда я начал читать про alias, накидывал его, и пытался играть с маршрутами, но тоже не вышло.

Потому прошу помощи у вас, что можно попробовать сделать, в какую сторону лучше копать? Какие статьи почитать?
  • Вопрос задан
  • 506 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Bright144
допустим у тебя на роутере интерфейсы:
eth0(который выходить на интернет);
eth1;
eth2;
eth3;
eth4;
Сначала политику FORWARD устанавливает на DROP с командой
iptables -P FORWARD DROP
и добавляем правило для всех установленного соединение
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
.
Теперь мы хотим пропускать трафик из eth4 на eth1 добавляем правило iptables -A FORWARD -i eth4 -o eth1 -j ACCEPT
и добавляем в таблицу nat такое правило
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
.
Это правило разрешает всем устройствам на eth4 доступ к устройствам на eth1. То есть подключенные устройства eth4 может постучатся к устройствам eth1, но устройства eth1 не может. Если хочешь сделать eth1 тоже мог постучаться к eth4 добавляешь такие же правило но поменяешь местами интерфейсов.
Так ты можешь устанавливать правило для других интерфейсов.
И чуть не забыл, у тебя должен быть включен ip forwarding. Раскомментируй на /etc/sysctl.conf net.ipv4.ip_forward=1, и примени команду sysctl -p
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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