Настройка DHCP
На данном этапе уже есть возможность указать на локальной машине статический IP-адрес из локальной подсети, например 192.168.0.2, наш сервер (192.168.0.1), в качестве шлюза, и DNS-сервер. Компьютер будет подключен к локальной сети.
Но система статических IP-адресов имеет свои недостатки: необходимо настраивать каждую машину для подключения к локальной сети, возможен конфликт одинаковых IP и тому подобное.
Поэтому следующим этапом будет настройка механизма автоматической трансляции IP-адресов через DHCP. В таком случае при подключении к сети нового компьютера все настройки будут переданы ему автоматически.
Для установки сервера DHCP используется команда:
sudo apt-get install isc-dhcp-server
Файл конфигурации по умолчанию находится в /etc/dhcp/dhcpd.conf, откроем файл в редакторе с помощью команды:
nano /etc/dhcp/dhcpd.conf
В большинстве случаев минимальная настройка производится внесением блока вида:
subnet 192.168.0.0 netmask 255.255.255.0 {#подсеть 192.168.0.0/24
range 192.168.0.2 192.168.0.254; #диапазон выдаваемых адресов
option domain-name-servers 8.8.8.8;#dns-сервер
option domain-name "test.loc"; #имя домена
option routers 192.168.0.1; # “рекомендуемый” шлюз
default-lease-time 604800; # стандартная длительность аренды ip-адреса
max-lease-time 604800; #максимальная длительность аренды ip-адреса
}
После изменения конфигурационного файла необходимо перезапустить сервер DHCP для применения новых настроек:
/etc/init.d/isc-dhcp-server restart
Теперь все клиенты локальной сети будут получать все настройки автоматически при подключении.
Настройка NAT
После организации локальной сети необходимо подключить её к Интернету - для этого реализуется трансляция сетевых адресов (Network Address Translation или NAT). Благодаря NAT несколько компьютеров могут выходить в интернет, используя один IP-адрес.
В Ubuntu механизм NAT реализуется с помощью сетевого фильтра iptables, который одновременно является брандмауэром.
Для автоматической загрузки настроек iptables при старте системы создадим новый пустой конфигурационный файл командой:
sudo touch /etc/nat
И откроем его для изменения:
nano /etc/nat
Варианты конфигурации брандмауэра зависят от политики сетевой безопасности в компании. Минимальный набор настроек выглядит следующим образом:
#!/bin/sh
#Пересылка пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
#Откроем доступ наружу из внутренней сети
iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT
#Включаем NAT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/24 -j MASQUERADE
#Разрешаем принимать ответы из внешней сети
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Ограничим доступ во внутреннюю сеть снаружи
iptables -A FORWARD -i eth0 -o tap0 -j REJECT
После сохранения изменений обеспечим для файла права на исполнение:
chmod +x /etc/nat
Далее необходимо поставить созданный файл на автозагрузку при включении сервера. Для этого откроем рассмотренный ранее файл interfaces:
nano /etc/network/interfaces
и добавим в самый низ строку:
post-up /etc/nat
Перезагрузим сервер для автоматического применения новых настроек:
reboot