Iptables

Iš Žinynas.
Jump to navigation Jump to search

Network Address Translation (NAT)[keisti]

NAT - daugiau žinomas kaip interneto dalinimas vidinio tinklo kompiuteriams kurie stovi už linux serverio/firewallo

  • eth0 - Išorinis interfeisas
  • eth1 - Vidinis interfeisas kuriam norite duoti internetą
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

Port Forward[keisti]

  • XX.XX.XX.XX - Išorinis IP
  • YY.YY.YY.YY - Vidinis IP
  • eth0 - Išorinis interfeisas
  • PORT - Portas
  • tcp - Protokolas, norint galima jį pakeisti į udp

Vieno porto[keisti]

iptables -t nat -A PREROUTING -p tcp -i eth0 -d XX.XX.XX.XX --dport PORT -j DNAT --to YY.YY.YY.YY:PORT
iptables -A FORWARD -p tcp -i eth0 -d YY.YY.YY.YY --dport PORTAS -j ACCEPT

Keletos portu[keisti]

iptables -A FORWARD -d YY.YY.YY.YY -i eth0 -p tcp -m tcp --dport 4400:5000 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth0 -d YY.YY.YY.YY --dport 4400:5000 -j DNAT --to-destination XX.XX.XX.XX
iptables -A FORWARD -d YY.YY.YY.YY -i eth0 -p udp -m udp --dport 4400:5000 -j ACCEPT
iptables -t nat -A PREROUTING -p udp -i eth0 -d YY.YY.YY.YY --dport 4400:5000 -j DNAT --to-destination XX.XX.XX.XX


Porto redirectinimas į kitą[keisti]

Lokalioj mašinoj arba visokiuose vnetuose*

iptables -t nat -A PREROUTING -p tcp --dport 2525 -j REDIRECT --to-ports 25

Įeinančio IP blokavimas[keisti]

  • -s - Source IP
  • XX.XX.XX.XX - Blokuojamas IP

iptables -A INPUT -s XX.XX.XX.XX -j DROP

Tam tikrų įeinančių IP įleidimas pagal portą[keisti]

iptables -I INPUT -p tcp -d $server_ip --dport $port -j DROP
iptables -I INPUT -s $client -d $server_ip -p tcp --dport $port -j ACCEPT
iptables -I INPUT -s $client2 -d $server_ip -p tcp --dport $port -j ACCEPT

Loginimas[keisti]

Naudojam /var/log/iptables.log kaip loga ir rsyslog kaip syslog'a

Kuriam failą /etc/rsyslog.d/iptables.conf Į jį rašom:

:msg,contains,"[netfilter] " /var/log/iptables.log

Tada nustatom kurį iptables chain'ą loginsim pvz FORWARD arba INPUT ir t.t tada nustatom taisyklę

# iptables -A <chainas> -m limit --limit 1/sec --limit-burst 2 -j LOG --log-prefix='[netfilter] ' --log-level 6 --log-tcp-options

Perkraunam rsyslog...

Porto nukreipimas i kita hosta[keisti]

85 porta nukreipiam i 80 192.168.1.51 hosto.

echo 1 >| /proc/sys/net/ipv4/ip_forward
iptables -t nat $exp PREROUTING -p tcp -i br0 --dport 85 -j DNAT --to-destination 192.168.1.51:80
iptables -t nat $exp POSTROUTING -d 192.168.1.51 -p tcp --dport 80 -j SNAT --to-source 192.168.1.101

ISP Limitų apėjimas[keisti]

Veikia su 4G LTE.

iptables -t mangle -I POSTROUTING -o $(get_wanface) -j TTL --ttl-set 65 
iptables -t mangle -I PREROUTING -i $(get_wanface) -j TTL --ttl-set 65

Kiti įrankiai: