Linux router

Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
apt install -y bash-completion htop mc traceroute nmap tcpdump elinks iftop fping screen conntrack

log2ram

https://github.com/azlux/log2ram

IP forwarding

Přidat do /etc/sysctl.conf řádky:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

Aktivovat:

sysctl -p /etc/sysctl.conf

Nastavení síťě

Síť v Debianu

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

Jednoduché zjištění veřejné IP adresy:

conntrack -L --src-nat --src VNITŘNÍ_IP_ADRESA 2>/dev/null | awk -F "dst=" '{print $3}' | awk '{print $1}' | sort | uniq

Zdroje:

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