Linux router: Porovnání verzí

Z Wiki UnArt Slavičín
Přejít na: navigace, hledání
(Conntrack)
 
(Nejsou zobrazeny 3 mezilehlé verze od stejného uživatele.)
Řádek 5: Řádek 5:
 
  apt-get install vlan
 
  apt-get install vlan
  
= Ipset =
+
= Conntrack =
 
 
apt-get install ipset
 
 
 
= 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''':
+
Povolit moduly v '''/etc/modules''':
  
  # povoleni pingu na router
+
  nf_conntrack
  ACCEPT all    FW      icmp
+
  nf_conntrack_ipv4
  # povoleni SSH na router
+
  nf_conntrack_pptp
  ACCEPT all    FW      tcp    ssh
+
  nf_nat
 
+
  nf_nat_ipv4
= Conntrack =
+
  nf_nat_pptp
  
 
Zjištění aktuální hodnoty '''nf_conntrack_max''':
 
Zjištění aktuální hodnoty '''nf_conntrack_max''':
Řádek 94: Řádek 43:
 
Hodnotu nf_conntrack_max zapíšeme do souboru '''/etc/sysctl.conf''':
 
Hodnotu nf_conntrack_max zapíšeme do souboru '''/etc/sysctl.conf''':
  
  net.netfilter.nf_conntrack_max=33554432
+
  net.netfilter.nf_conntrack_max = 33554432
  net.netfilter.nf_conntrack_tcp_timeout_established=7200
+
  net.netfilter.nf_conntrack_helper = 1
  
 
Hodnotu nf_conntrack_buckets do souboru '''/etc/modprobe.d/nf_conntrack.conf''':
 
Hodnotu nf_conntrack_buckets do souboru '''/etc/modprobe.d/nf_conntrack.conf''':
  
 
  options nf_conntrack hashsize=4194304
 
  options nf_conntrack hashsize=4194304
 
Změníme za běhu:
 
 
echo 4194304 > /sys/module/nf_conntrack/parameters/hashsize
 
sysctl -p
 
  
 
Zdroje:
 
Zdroje:
  
 
https://wiki.spoje.net/doku.php/howto/network/conntrack
 
https://wiki.spoje.net/doku.php/howto/network/conntrack

Aktuální verze z 12. 2. 2020, 18:00

apt-get install bash-completion htop mc traceroute nmap tcpdump elinks iperf iperf3 iftop fping screen

VLAN

apt-get install vlan

Conntrack

Povolit moduly v /etc/modules:

nf_conntrack
nf_conntrack_ipv4
nf_conntrack_pptp
nf_nat
nf_nat_ipv4
nf_nat_pptp

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_helper = 1

Hodnotu nf_conntrack_buckets do souboru /etc/modprobe.d/nf_conntrack.conf:

options nf_conntrack hashsize=4194304

Zdroje:

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