Linux router: Porovnání verzí

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Řádek 13: Řádek 13:
  # zóna pro internet
  # zóna pro internet
  NET    ipv4
  NET    ipv4
# zóna pro CZFREE síť
CZF    ipv4
  # zóna pro lokální síť
  # zóna pro lokální síť
  LOC    ipv4
  LOC    ipv4
Řádek 22: Řádek 24:
  # z lokální sítě povol kamkoliv
  # z lokální sítě povol kamkoliv
  LOC    all    ACCEPT
  LOC    all    ACCEPT
# z CZF sítě zakaž kamkoliv
CZF    all    DROP
  # z internetu zakaž kamkoliv
  # z internetu zakaž kamkoliv
  NET    all    DROP
  NET    all    DROP
Řádek 31: Řádek 35:
  # rozhraní pro internet
  # rozhraní pro internet
  NET    enp1s0  detect
  NET    enp1s0  detect
# rozhraní pro CZF síť
CZF    enp2s1  detect
  # rozhraní pro lokální síť
  # rozhraní pro lokální síť
  LOC    enp2s1 detect
  LOC    enp3s1 detect


V souboru '''/etc/shorewall/shorewall.conf''' upravit následující hodnoty:
V souboru '''/etc/shorewall/shorewall.conf''' upravit následující hodnoty:

Verze z 25. 4. 2019, 14:25

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:

https://wiki.spoje.net/doku.php/howto/network/conntrack