# ----------------------------------------------------------------------------- # IPTABLES & IPSET NOTLARI # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # IPTABLES # ----------------------------------------------------------------------------- # Kurulum apt-get install iptables # LXC Container içinde kullanılacaksa apt-get install module-init-tools iptables # Iptables işlem sırası RAW PREROUTING | MANGLE PREROUTING | NAT PREROUTING | ROUTING KARARI | ----------------------------------------- | | MANGLE MANGLE INPUT FORWARD | | FILTER FILTER INPUT FORWARD | | | LOCAL | İŞLEM | | | | | ROUTING | KARARI | | | | | RAW | OUTPUT | | | | | MANGLE | OUTPUT | | | | | NAT | OUTPUT | | | | | FILTER | OUTPUT | | | | | | ----------------------------------------- | MANGLE POSTROUTING | NAT POSTROUTING # Kuralları listeleme (list) iptables -L iptables -L -t nat iptables -L -n -v -n numeric -v verbose -t table filter (default) nat mangle # Kuralların tamamını silme (flush) iptables -F iptables -F -t nat # Liste sonuna kural ekleme (append) iptables -A INPUT -p tcp --dport 80 -j REJECT # Listede belli sıraya kural ekleme (insert) iptables -I INPUT 1 -s 192.168.1.10 -p tcp --dport 80 -j ACCEPT # Listeden bir kuralı silme iptables -D INPUT -p tcp --dport 80 -j REJECT iptables -D INPUT 1 # Masquerade iptables -t nat -A POSTROUTING -s 172.16.244.0/24 -o eth0 -j MASQUERADE Masquerade yaparken routing yapmak da gerekecek. Bu nedenle /etc/sysctl.conf net.ipv4.ip_forward=1 # DNAT iptables -t nat -A PREROUTING -i eth0 -p tcp ! -s 172.16.244.0/24 \ --dport 1021 -j DNAT --to 172.16.244.111:21 iptables -t nat -A PREROUTING -i eth0 -p tcp ! -s 172.16.244.0/24 \ --dport 49152:65534 -j DNAT --to 172.16.244.111 # ----------------------------------------------------------------------------- # IPSET # ----------------------------------------------------------------------------- # Ipset kurulum apt-get install ipset ipset-source m-a a-i ipsey-source # Set oluşturma ipset -N setx iphash ipset -N setx nethash ipset -N sety iptree --timeout 100 # Set silme ipset -X setx # Setleri listeleme ipset -L # Sete ekleme ipset -A ipsetx 192.168.1.10 ipset -A ipsety 192.168.1.0/24 # Setten kayıt silme ipset -D ipsetx 192.168.1.10 # Setteki büyün kayıtları silme ipset -F ipsetx # Set kayıtlarını listeleme ipset -L ipsetx # Bir kayıt sette var mı diye test etme ipset -T ipsetx 192.168.1.10 # Seti iptables ile kullanma iptables -A INPUT -m set --set ipsetx src -j ACCEPT