Назад | Перейти на главную страницу

Как я могу настроить компьютер в качестве шлюза из локальной сети в Интернет?

Это следующий вопрос к этот вопрос.

Я хочу настроить локальную сеть таким образом, чтобы ее клиенты использовали сервер в качестве шлюза в Интернет.

ОС на всех клиентах и ​​сервере - 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 /

  • зоны
    • Сообщает shorewall, какие зоны (сети) к нему подключены.
  • интерфейсы
    • Сообщает Shorewall, какие интерфейсы он может использовать
  • маска
    • Преобразуйте диапазон наших частных IP-адресов в наш общедоступный IP-адрес
  • политика
    • Делает широкие и широкие изменения
  • правила
    • Делает исключение для файла политики

И поместите их все в / etc / shorewall /

Файл зон должен содержать

  • брандмауэр fw
  • чистый ipv4
  • loc ipv4

Вот пример файл интерфейсовопция dhcp на eth0 предназначена для случаев, когда вы получаете «динамический» статический адрес от своего интернет-провайдера.

net     eth0            dhcp,tcpflags,nosmurfs,routefilter,logmartians,sourceroute=0
loc     eth1            tcpflags,nosmurfs,routefilter,logmartians

Ваш файл masq переводит ваш частный адресный диапазон в ваш публичный адрес, например

eth0                    192.168.1.0/24

В файл политики предназначен для широких и значительных изменений брандмауэра, и здесь нормально

  1. Запретить весь входящий трафик
  2. Разрешить весь исходящий трафик

Пример политики

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 в какой-то момент не запустится, ваша сеть не будет беззащитной.

Им предстоит еще многое сделать, чтобы еще больше укрепить вашу сеть, но это только начало.