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

.

Администратор
Команда форума
Поднимаем интернет шлюз на примере Linux Debian 9.0
Цель всего этого чтобы автоматически присваивал IP и DNS адреса, и раздавал интернет и сеть в вашу домашнюю сеть.
Учтем что у нас уже есть доступ к интернету. Так же стоит две сетевые карты. Одна из которых смотрит в интернет,а другая в нашу сеть.
  • Устанавливаем DCHP сервер
Код:
apt-get update
apt-get install isc-dhcp-server
или так:
Код:
aptitude install isc-dhcp-server
  • Находим файл /etc/default/isc-dhcp-server и выбираем интерфейс где будет работать DHCP. В моем случаи ставим значение:
Код:
INTERFACESv4="enp1s0"
#Для работы IPv6
#INTERFACESv6="enp1s0"
Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 - это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой - интерфейсы имеют имена вида enp2s0 (en -Ethernet, p - PCI, 2 - номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link.
  • Теперь идем в файл /etc/dhcp/dhcpd.conf и настраиваем его
Код:
option domain-name "static.example.org my-system.ru";
option domain-name-servers 192.168.0.100;
option routers 192.168.0.100;
option broadcast-address 192.168.1.255;
option ntp-servers 192.168.0.100;

default-lease-time 86400;
max-lease-time 86400;
authoritative;
log-facility local7;

# указываем подсеть раздающих адресов.
subnet 192.168.0.0 netmask 255.255.255.0
{

# указываем раздачу адресов.
range 192.168.0.100 192.168.0.200;
}

# привязка ip к маку
#host mail-server {
#hardware ethernet 11:7b:44:80:xx:01;
#fixed-address 192.168.0.103;
#}
  • Идем в файл /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
  • Рестартуем DHCP сервер
Код:
/etc/init.d/isc-dhcp-server restart
  • Идем в файл /etc/sysctl.conf и меняем (не забываем раскомментировать строчку!)
Код:
net.ipv4.ip_forward=0 на net.ipv4.ip_forward=1
  • Далее приступаем к самому главному — настройке фаервола iptables и nat в нем для обеспечения выхода в интернет из локальной сети. (ссылку на пример настройки добавлю позже)
С помощью iptables возможно настроить защиту вашего сервера. Запрет интернет ресурсов из вашей локальной сети. Запрет выхода в интернет с определенных машин или разрешение.
  • Остается только установить dns сервер
Код:
apt-get install dnsmasq
Настраивать его не надо. если вы не ставили других целей.
 
Последнее редактирование:
Сверху Снизу