Простой рoутер на Debian

Просмотров: 506Комментарии: 0
ВкусняшкиFAQ SolutionLinux

Как-то в моей маленькой домашней локальной лаборатории потребовалось изолированной сети, в которой присутствуют только виртуальные машины только с адаптерами внутреней сети, дать доступ в Интернет, не добавляя адаптеров типа NAT. Сказано - сделано.

Все действия я провожу с машинами в VirtualBox. Мне потребуется создать еще 1 машину - роутер, которая будет являться шлюзом для других VM и будет предоставлять доступ в Интернет.

В качестве роутера будет выступать виртуальная машинка на борту у которой минимальный Debian.

Создаем новую виртуальку, для которой назначаем 2 сетевых интерфейса первый тип подключения NAT, а второй с типом подключения внутренняя сеть.

Следующим этопом, на котором я не буду останавливаться - установка Debian. А дальше переходим к настройка сети.

Выполним команду:

# ip a

Мы увидим все имеющиеся сетевые интерфейсы, у меня это enp0s3 и enp0s8. Первый это моя сеть с интернетом, а второй является внутренней сетью. Дальше переходим к настройке сетевых интерфейсов. отредактировав файл interfaces выполним команду:

# nano /etc/network/interfaces

и выполним настроку второго интерфейса, дописав к файлу его конфигурацию

allow-hotplug enp0s8

iface enp0s8 inet static

address 172.30.0.1

netmask 255.255.255.0

Далее можно поднять второй интерфейс и попинговать адрес 172.30.0.1 c другой машины в этой сети.

Следующим этапом нужно разрешить маршрутизацию и настроить правила iptables. Разрешаем маршрутизацию отредактировав файл sysclt.conf выполнив команду:

# nano /etc/sysctl.conf

раскоментируем строку net.ipv4.ip_forward = 1.

Далее настроим iptables для пересылки пакетов:

# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

# iptables -A FORWARD -s 172.30.0.0/24 -j ACCEPT

# iptables -P FORWARD DROP

# iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Если указать в качестве шлюза на других виртуальных машинах ip адрес второго интерфейса этого маршрутизатора, а в качестве DNS ip Google DNS 8.8.8.8, то можно убедиться что на клиентах уже интернет появился.

Осталось зафиксировать в автозагрузке правила iptables (подробно описано в статье Debian: автозагрузка iptables и ip6tables) и можно пожимать свои плоды.

Собственно это все что я хотел рассказать.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)