Linux router
Z Wiki UnArt Slavičín
VLAN
apt-get install vlan
Shorewall
apt-get install shorewall
Definice zón - soubor /etc/shorewall/zones:
# zóna pro firewall FW firewall # zóna pro internet NET ipv4 # zóna pro CZFREE síť CZF ipv4 # zóna pro lokální síť LOC ipv4
Definice výchozích politik - soubor /etc/shorewall/policy:
# z firewallu povol kamkoliv FW all ACCEPT # z lokální sítě povol kamkoliv LOC all ACCEPT # z CZF sítě zakaž kamkoliv CZF all DROP # z internetu zakaž kamkoliv NET all DROP # všechno ostatní zakaž all all REJECT
Definice rozhraní a jejich přiřazení k zóně - soubor /etc/shorewall/interfaces:
# rozhraní pro internet NET enp1s0 detect # rozhraní pro CZF síť CZF enp2s1 detect # rozhraní pro lokální síť LOC enp3s1 detect
V souboru /etc/shorewall/shorewall.conf upravit následující hodnoty:
LOG_MARTIANS=No
IP_FORWARDING=On
ROUTE_FILTER=No
Conntrack
Zjištění aktuální hodnoty nf_conntrack_max:
cat /proc/sys/net/netfilter/nf_conntrack_max 65536
Zjištění aktuální hodnoty nf_conntrack_buckets (hashsize):
cat /proc/sys/net/netfilter/nf_conntrack_buckets 16384
Zjištění velikost hodnoty jednoho záznamu v tabulce conntrack:
cat /proc/slabinfo | awk '{if ($1 == "nf_conntrack") print $4}' 256
Výpočet:
nf_conntrack_max = velikost použitelné RAM v bytech / velikost jednoho záznamu nf_conntrack_buckets = nf_conntrack_max / 8
Příklad výpočtu pro 8GB RAM a velikost záznamu 256:
nf_conntrack_max = 8 * 1073741824 / 256 = 33554432 nf_conntrack_buckets = 33554432 / 8 = 4194304
Hodnotu nf_conntrack_max zapíšeme do souboru /etc/sysctl.conf:
net.netfilter.nf_conntrack_max=33554432 net.netfilter.nf_conntrack_tcp_timeout_established=7200
Hodnotu nf_conntrack_buckets do souboru /etc/modprobe.d/nf_conntrack.conf:
options nf_conntrack hashsize=4194304
Změníme za běhu:
echo 4194304 > /sys/module/nf_conntrack/parameters/hashsize sysctl -p
Zdroje: