Подробная инстукция по установке и настройке роутера в связке FirewallD + dnsmasq на CentOS Stream 8.3.
Исходные данные
Имеем на машине 2 сетевых интерфейса:
enp0s3 — для внешней сети 192.168.1.0/24
enp0s8 — для внутренней сети 192.168.52.0/24
Также у нас есть шлюз во внешней сети. Это маршрутизатор с IP-адресом 192.168.1.1
Наша задача — настроить доступ в Интернет для внутренней сети.
В первую очередь открываем файл /etc/sysctl.conf
# vi /etc/sysctl.conf
и в нём в самом конце прописываем строчку:
net.ipv4.ip_forward = 1
Теперь при выполнении команды
# sysctl -p
консоль покажет такой результат:
net.ipv4.ip_forward = 1
Запускаем FirewallD и включаем его в автозагрузку:
# systemctl start firewalld # systemctl enable firewalld
Включаем поддержку NAT (masquerade)
# firewall-cmd --add-masquerade --permanent
и перезапускаем файрволл
# firewall-cmd --reload
консоль должна показать:
Loaded: loaded Active: active (running)
Проверим состояние службы FirewallD
# firewall-cmd --state
ответ должен быть:
running
Устанавливаем dnsmasq
# yum install dnsmasq
затем откроем файл /etc/dnsmasq.conf
# vi /etc/dnsmasq.conf
и пропишем в него такой конфиг:
domain-needed bogus-priv interface=enp0s8 resolv-file=/etc/resolv.conf dhcp-range=192.168.50.31,192.168.50.130,24h cache-size=150
Включаем доступ к службам dns и dhcp в файрволл
# firewall-cmd --permanent --zone=public --add-service=dhcp # firewall-cmd --permanent --zone=public --add-service=dns
Затем включаем службы dnsmasq в автозагрузку и запускаем
# systemctl enable dnsmasq # systemctl start dnsmasq
Теперь роутер работает.