Всем доброго времени суток.
Я не дружу с Linux. Но на работе обязали настроить серверный компьютер на основе Ubuntu server (замашки руководства).
Интсрукции пишу больше для себя, что бы можно было быстро восстановить систему.
Если инструкция опубликована, занчит все работает.
В предыдущей статье, я детально объяснил, как настроить сетевой мост, между двумя интерфейсами: Настройка сетевого моста
Итак:
Настроим DHCP-сервер. Мы действительно не хотим настраивать каждый клиент со статическим IP в сети LAN. Для этой задачи нам нужно установить следующий пакет.
sudo apt-get install isc-dhcp-server
Нам нужно отредактировать файл /etc/default/isc-dhcp-server. Это сообщает DHCP-серверу, какой сетевой интерфейс он должен прослушивать. В нашем случае это конечно enp3s0, интерфейс локальной сети.
Вводим команду:
sudo nano /etc/default/isc-dhcp-server
А под «INTERFACESv4» вставьте сетевой интерфейс вашей локальной сети. В нашем случае это enp3s0 :
INTERFACESv4 = "enp3s0"
Следующим шагом будет настройка DHCP-сервера. Это делается путем редактирования файла /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd.conf
Вот куча разных параметров, большинство из них комментируются # перед каждой строкой. Короче говоря, мы запишем только те параметры, которые мы использовал, и/или отредактируем их в соответствии со своими потребностями. Если вы хотите, вы можете удалить все содержимое этого файла и просто скопировать/вставить код ниже. Конечно, вы меняете IP-адреса, шлюзы и т. д. В соответствии с вашей собственной конфигурацией сети.
Вот мой пример:
option domain-name "adminguide";
option domain-name-servers ag-dc.adminguide.lan;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.31.0 netmask 255.255.255.0 {
range 192.168.31.10 192.168.31.200;
option subnet-mask 255.255.255.0;
option routers 192.168.31.1
option broadcast-address 192.168.31.255;
}
Теперь давайте применим настройки и включим DHCP-сервер при загрузке с помощью следующих команд:
sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server
С помощью следующей команды мы проверяем статус.
sudo systemctl status isc-dhcp-server
Если все настроено правильно, должна быть строка «ACTIVE». В противном случае вы что-то напутали в файле /etc/dhcp/dhcpd.conf. Возможно, отсутствует точка с запятой или скобка.
НАСТРОЙКА ФАЙЕРВОЛА
Чтобы иметь функциональный маршрутизатор, нам нужно правильно настроить брандмауэр. Это делается путем записи некоторых правил iptables. Чтобы сохранить правила при перезапуске сервера, мы создали скрипт, который будет выполняться во время загрузки.
Сначала давайте включим UFW с…
sudo ufw enable
Далее нам нужно включить пересылку пакетов из WAN в LAN. У нас следующий параметр внутри файла /etc/ufw/sysctl.conf:
Открываем файл…
sudo nano /etc/ufw/sysctl.conf
… и мы просто удаляем # перед следующей строкой:
net/ipv4/ip_forward=1
В Ubuntu 18.04 файл /etc/rc.local больше не существует. Но мы все еще можем создать это с:
sudo nano /etc/rc.local
Затем скопируйте/вставьте следующий скрипт. Есть комментарии, объясняющие каждое правило iptables. Вы можете удалить их, если хотите, но вы НЕ должны удалять #! /bin/bash. Также измените eth0 и eth1, если ваши сетевые интерфейсы имеют несколько разных имен.
#!/bin/bash
# /etc/rc.local
# Default policy to drop all incoming packets.
iptables -P INPUT DROP
iptables -P FORWARD DROP
# Accept incoming packets from localhost and the LAN interface.
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i enp3s0 -j ACCEPT
# Accept incoming packets from the WAN if the router initiated the connection.
iptables -A INPUT -i enp4s0 -m conntrack \
--ctstate ESTABLISHED,RELATED -j ACCEPT
# Forward LAN packets to the WAN.
iptables -A FORWARD -i enp3s0 -o enp4s0 -j ACCEPT
# Forward WAN packets to the LAN if the LAN initiated the connection.
iptables -A FORWARD -i enp4s0 -o enp3s0 -m conntrack \
--ctstate ESTABLISHED,RELATED -j ACCEPT
# NAT traffic going out the WAN interface.
iptables -t nat -A POSTROUTING -o enp4s0-j MASQUERADE
# rc.local needs to exit with 0
exit 0
Этот сценарий должен выполняться во время загрузки, поэтому нам нужно сделать файл исполняемым с помощью следующей команды:
sudo chmod 755 /etc/rc.local
Заканчиваем настройку REBOOT
После перзагрузки, по LAN интерфейсу у нас побежит интернет! нам предстоит еще много работы.
PS. Статья взята с этого сайта.
Всем спасибо за прочтение.