LINUX.ORG.RU

Сообщения aesyon

 

Помощь в настройке nftables для сервера с двумя интерфейсами

Здравствуйте!

Озвучиваю ТЗ. Имеется сервер с двумя сетевыми интерфейсами, один выходит в локалку(LAN), другой во внешнюю сеть(WAN). Необходимо, чтобы сервер позволял подключения из обеих сетей по определенным портам, например ssh, http, https, позволял пинг, разрешал доступ к dns. При этом, по дефолту, сервер должен выходить в интернет через WAN, однако, в случае если WAN, по какой-то причине недоступен (намеренно отключен, например), исходящие соединения шли через шлюз в локалке. Также, никакой компьютер локалки не может использовать сервер в качестве роутера. Все прочие соединения закрыть. ipv6 соединения или отключить или настроить также как ipv4.

Я не могу понять как в принципе подружить два интерфейса.

Ниже заготовка, очевидно, нерабочая.

#!/usr/sbin/nft -f

flush ruleset

define WAN_NIC = { eth0 }
define LAN_NIC = { eth1 }

table ip filter {
    chain input {
		type filter hook input priority 0; policy drop;
		ct state invalid drop
		iifname "lo" accept
		iifname "lo" ip saddr != 127.0.0.0/8 drop	
		iifname $WAN_NIC tcp sport { ssh, http, https, http-alt } tcp dport 32768-65535 ct state established accept
		iifname $LAN_NIC tcp sport { ssh } tcp dport 32768-65535 ct state established accept
    }

    chain output {
		type filter hook output priority 0; policy drop;
		oifname "lo" accept
               oifname "lo" ip daddr != 127.0.0.0/8 drop
		oifname $WAN_NIC tcp dport { ssh, http, https, http-alt } tcp sport 32768-65535 ct state new,established accept
		oifname $LAN_NIC tcp dport { ssh } tcp sport 32768-65535 ct state new,established accept
    }

    chain forward {
       type filter hook forward priority 0; policy drop;
    }
}

 ,

aesyon
()

RSS подписка на новые темы