Интернет Шлюз на основе Debian 9.0 c DHCP

.

Администратор
Команда форума
Поднимаем интернет шлюз на примере Linux Debian 9.0
Цель всего этого чтобы автоматически присваивал IP и DNS адреса, и раздавал интернет в вашу домашнюю сеть. Возможность проброса порта на определённую машину.
Учтем что у нас уже есть доступ к интернету. Так же стоит две сетевые карты. Одна из которых смотрит в интернет, а другая в нашу сеть.
  • Идем в файл /etc/network/interfaces и настраиваем вторую карту (Учитываем сетевые интерфейсы!)
Код:
source /etc/network/interfaces.d/*

#Сетевая петля
auto lo
iface lo inet loopback

# Карта которая смотрит в сторону провайдера и настраивается автоматом
auto enp5s0
allow-hotplug enp5s0
iface enp5s0 inet dhcp

#Карта которая смотрит в нашу сеть
allow-hotplug enp1s0
iface enp1s0 inet static
address 192.168.0.100
netmask 255.255.255.0
network 192.168.0.100
broadcast 192.168.100.255

# Авто-загрузка правил iptables при старте системы (учтем что правила у нас хранятся в файле "/etc/iptables.rules")

post-up iptables-restore < /etc/iptables.rules
Важно учесть что правило iptables заводятся только после активного интерфейса!

  • Идем в файл /etc/sysctl.conf и меняем (не забываем раскомментировать строчку!)
Код:
net.ipv4.ip_forward=0 на net.ipv4.ip_forward=1
  • Далее приступаем к самому главному — настройке фаервола iptables и nat в нем для обеспечения выхода в интернет из локальной сети.
Скрытое содержимое доступно для зарегистрированных пользователей!

С помощью iptables возможно настроить защиту вашего сервера. Запрет интернет ресурсов из вашей локальной сети. Запрет выхода в интернет с определенных машин или разрешение.

  • Остается только установить dns сервер и немного настроить:
Код:
apt-get install dnsmasq

  • Настраиваем nano /etc/dnsmasq.conf
Код:
# Never forward plain names (without a dot or domain part)
# Никогда не пересылайте простые имена (без точки или части домена)
domain-needed

# Never forward addresses in the non-routed address spaces.
# Никогда не пересылайте адреса в не маршрутизируемых адресных пространствах.
bogus-priv

# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
# Если вы хотите, чтобы dnsmasq прослушивал запросы DHCP и DNS только на
# указанные интерфейсы (и петля) дают имя
# здесь интерфейс (например, eth0).
# Повторить строку для более чем одного интерфейса.
interface=enp1s0

# Uncomment this to enable the integrated DHCP server, you need
# to supply the range of addresses available for lease and optionally
# a lease time. If you have more than one network, you will need to
# repeat this for each network on which you want to supply DHCP
# service.

# Раскомментируйте это, чтобы включить встроенный DHCP-сервер, вам нужно
# для предоставления диапазона адресов, доступных для аренды и опционально
# срок аренды. Если у вас более одной сети, вам потребуется
# повторить это для каждой сети, в которой вы хотите предоставить DHCP
# служба.
dhcp-range=enp1s0,192.168.0.101,192.168.0.150,24h
 
Последнее редактирование:
Сверху Снизу