В предыдущей части я установил операционную систему на свой домашний сервер, теперь необходимо настроить сетевые интерфейсы и фаервол.
Сетевые интерфейсы: DHCP и статический адрес
Первым делом установим IP — адреса на сетевые карты
— для первой сетевой карты устанавливаем DHCP (в большинстве случаев IP адрес выдает провайдер)
— для сетевой карты устанавливаем IP адрес для нашей внутренней сети, чаше всего используются сеть класса C 192.168.1.0 с маской 255.255.255.0 если роутер провайдера выдает адреса из этой сети то у нас могут возникнуть проблемы между сетями, поэтому выберем сеть 192.168.2.0 с маской 255.255.255.0 и назначим первый адрес в сети нашему роутеру 192.168.2.1
Проверяем как определились сетевые интерфейсы в системе с помощью команды
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ip address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:3f:50:2c brd ff:ff:ff:ff:ff:ff inet 192.168.1.25/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe3f:502c/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 08:00:27:b1:6f:f8 brd ff:ff:ff:ff:ff:ff |
Видим что сетевая карта enp0s3 получила ip-адрес от провайдера, а enp0s8 нет — это сетевая карта которая подключена к нашей локальной сети, ей необходимо задать ip-адресс
В файле /etc/network/interfaces добавляем следующую запись
1 2 3 4 5 6 | nano /etc/network/interfaces auto enp0s8 iface enp0s8 inet static address 192.168.2.1 netmask 255.255.255.0 |
Сохраняем сочетанием ctrl-O и выходим ctlr-X
далее перезапускаем сеть командой и проверяем
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | service networking restart id address 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:3f:50:2c brd ff:ff:ff:ff:ff:ff inet 192.168.1.25/24 brd 192.168.1.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe3f:502c/64 scope link valid_lft forever preferred_lft forever 3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:b1:6f:f8 brd ff:ff:ff:ff:ff:ff inet 192.168.2.1/24 brd 192.168.2.255 scope global enp0s8 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:feb1:6ff8/64 scope link valid_lft forever preferred_lft forever |
Сетевые интерфейсы локальной сети — DHCP-сервер
Теперь нам необходимо установить dhcp сервер для раздачи адресов в локальной сети
1 | apt install dnsmasq -y |
После установки создаем файл конфигурации.
1 | nano /etc/dnsmasq.d/lan.conf |
Добавляем строки:
1 2 3 | interface=enp0s8 bind-interfaces dhcp-range=192.168.2.50,192.168.2.150,255.255.255.0,12h |
Перезапускаем dnsmasq
1 | service dnsmasq restart |
проверяем выданные адреса на клиентах:
Включаем маршрутизацию между интерфейсами
1 | nano /etc/sysctl.conf |
находим и комментируем строку
1 | net.ipv4.ip_forward=1 |
Сохраняем и применяем измененный файл конфигурации
1 2 3 | root@router:~# sysctl -p net.ipv4.ip_forward = 1 |
Затем нам необходимо установить фаервол в автозапуск и задать правила, для этого станавливаем iptables-persistent
1 | apt install iptables-persistent -y |
Устанавливаем правила для трансляции адресов, для этого я использую программу iptables
1 2 | iptables -t nat -I POSTROUTING -o enp0s3 -j MASQUERADE service netfilter-persistent save |
Теперь на клиентском ПК должен появиться интернет.
Теперь необходимо настроить фаервол для предотвращения атак из вне
1 2 3 4 5 6 7 8 9 10 11 12 | #Разрешаем уже установленные соединения iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT #разрешаем устанавливать соединения только из локальной сети iptables -I FORWARD -m conntrack --ctstate NEW -i enp0s8 -j ACCEPT #Устанавливаем политику по умолчанию для маршрутизации <strong>DROP</strong> iptables -P FORWARD DROP #Разрешаем подключаться к серверу только из локальной сети iptables -I INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -I INPUT -m conntrack --ctstate NEW -i enp0s8 -j ACCEPT iptables -P INPUT DROP #Сохраняем правила service netfilter-persistent save |
Таким образом мы настроили доступ в интернет через наш роутер и настроили фаервол.