Это следующий вопрос к этот вопрос.
Я хочу настроить локальную сеть таким образом, чтобы ее клиенты использовали сервер в качестве шлюза в Интернет.
ОС на всех клиентах и сервере - OpenSuse 42.3. Каждый участник уже может получить доступ к Интернету самостоятельно, и каждый участник может пинговать друг друга.
Я дал серверу два IP-адреса: один для локальной сети и один для Интернета, и включил внутри него пересылку ipv4.
Клиенты используют IP-адрес сервера в качестве стандартного шлюза в Интернет, но я, вероятно, неправильно установил некоторые значения, поскольку он не работает.
У OpenSuse должны быть пакеты shorewall и shorewall-doc, доступные в его диспетчере пакетов.
https://software.opensuse.org/package/shorewall
Брандмауэр Shoreline, более известный как Shorewall, представляет собой брандмауэр на основе Netfilter> (iptables), который может использоваться в выделенной системе брандмауэра,> многофункциональном шлюзе / маршрутизаторе / сервере или в автономной системе GNU / Linux.
Пример Debian
После установки shorewall включить net.ipv4.ip_forward = 1
в /etc/sysctl.conf
и выполнить sysctl -p
Предполагая, что у вас есть два интерфейса Ethernet на вашем шлюзе и вы установили shorewall-doc, нам нужны следующие примеры из / usr / share / doc / shorewall / examples / two-interfaces /
И поместите их все в / etc / shorewall /
Файл зон должен содержать
Вот пример файл интерфейсовопция dhcp на eth0 предназначена для случаев, когда вы получаете «динамический» статический адрес от своего интернет-провайдера.
net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0
loc eth1 tcpflags,nosmurfs,routefilter,logmartians
Ваш файл masq переводит ваш частный адресный диапазон в ваш публичный адрес, например
eth0 192.168.1.0/24
В файл политики предназначен для широких и значительных изменений брандмауэра, и здесь нормально
Пример политики
loc net ACCEPT
fw all DROP
net all DROP
all all DROP
В файл правил делает исключения для файла политики, поэтому здесь мы, например, хотим разрешить SSH для шлюза, потому что all all DROP
должен в противном случае отказать нам в отправке любых пакетов на FW
SSH(ACCEPT) loc $FW
Разрешить пакеты ICMP, чтобы мы не отклоняли PMTU ICMP.
ACCEPT all all icmp
Разрешите брандмауэру разрешать DNS-запросы, потому что это заблокировано в политике. в Debian использовался для запуска apt-get update и установки пакетов.
ACCEPT $FW net tcp,udp 53,80
http://shorewall.net/manpages/ действительно хорошо документирован для всех вышеперечисленных вариантов.
Прежде чем приступить к использованию правил брандмауэра, убедитесь, что в конфигурации нет ошибок, используя shorewall check
и внесите изменения в силу с помощью shorewall safe-restart
Когда вы создали работающую конфигурацию и довольны сохранением правил iptables с помощью iptables-save > /root/iptables.txt
и сделайте запись в / etc / network / interfaces для загрузки правил до того, как появятся ваши интерфейсы pre-up iptables-restore < /root/iptables.txt
так что если Shorewall в какой-то момент не запустится, ваша сеть не будет беззащитной.
Им предстоит еще многое сделать, чтобы еще больше укрепить вашу сеть, но это только начало.