Linux router: Porovnání verzí
Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Řádek 6: | Řádek 6: | ||
apt-get install shorewall | apt-get install shorewall | ||
V souboru '''/etc/shorewall/shorewall.conf''' upravit následující hodnoty: | |||
LOG_MARTIANS=No | |||
IP_FORWARDING=On | |||
ROUTE_FILTER=No | |||
Definice zón - soubor '''/etc/shorewall/zones''': | Definice zón - soubor '''/etc/shorewall/zones''': | ||
Řádek 40: | Řádek 48: | ||
LOC enp3s1 detect | LOC enp3s1 detect | ||
Definice NATu - soubor '''/etc/shorewall/masq''': | |||
enp1s0 10.143.0.0/16 | |||
Definice pravidel - soubor '''/etc/shorewall/rules''': | |||
# povoleni pingu na router | |||
ACCEPT all FW icmp | |||
# povoleni SSH na router | |||
ACCEPT all FW tcp ssh | |||
= Conntrack = | = Conntrack = |
Verze z 25. 4. 2019, 14:45
VLAN
apt-get install vlan
Shorewall
apt-get install shorewall
V souboru /etc/shorewall/shorewall.conf upravit následující hodnoty:
LOG_MARTIANS=No
IP_FORWARDING=On
ROUTE_FILTER=No
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
Definice NATu - soubor /etc/shorewall/masq:
enp1s0 10.143.0.0/16
Definice pravidel - soubor /etc/shorewall/rules:
# povoleni pingu na router ACCEPT all FW icmp # povoleni SSH na router ACCEPT all FW tcp ssh
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: