GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Betriebssystemdienst „iptables“

Dienstname

iptables

Beschreibung

Die iptables Dienstprogramm steuert den Filtercode für Netzwerkpakete im Linux-Kernel. Wenn Sie Firewalls und/oder IP-Masquerading einrichten müssen, sollten Sie dieses Tool installieren. Die /sbin/iptables application ist das Userspace-Befehlszeilenprogramm, das zum Konfigurieren der Linux-IPv4-Paketfilterregeln verwendet wird. Da aus den Paketfilterregeln auch Network Address Translation (NAT) konfiguriert wird, wird auch dafür /sbin/iptables verwendet. Es gibt ein ähnliches Tool für IPv6-Netzwerke namens iptables-ipv6 .

Die Funktion iptables wird verwendet, um die Tabellen der IP-Paketfilterregeln im Linux-Kernel einzurichten, zu verwalten und zu überprüfen. Es können mehrere verschiedene Tabellen definiert werden. Jede Tabelle enthält eine Reihe eingebauter Ketten und kann auch benutzerdefinierte Ketten enthalten.

Jede Kette ist eine Liste von Regeln, die mit einem Satz von Paketen übereinstimmen können. Jede Regel gibt an, was mit einem übereinstimmenden Paket zu tun ist. Dies wird als Ziel bezeichnet , was ein Sprung zu einer benutzerdefinierten Kette in derselben Tabelle sein kann.

RPM-Paketname

iptables

Dienststeuerung

Start- und Stoppbeispiele

# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]

Nutzung

# service iptables
Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}
# service iptables start
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
# service iptables restart
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables condrestart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_netbios_n[  OK  ]
# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
1    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
num  target     prot opt source               destination         
1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           icmp type 255 
3    ACCEPT     esp  --  0.0.0.0/0            0.0.0.0/0           
4    ACCEPT     ah   --  0.0.0.0/0            0.0.0.0/0           
5    ACCEPT     udp  --  0.0.0.0/0            224.0.0.251         udp dpt:5353 
6    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:631 
7    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:631 
8    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
9    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
10   ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:80 
11   REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
# service iptables panic
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy DROP: filter                      [  OK  ]
# service iptables save
Saving firewall rules to /etc/sysconfig/iptables:          [  OK  ]

Daemon

/sbin/iptables

Module

nfnetlink
ip_conntrack
ip_conntrack_netbios_ns

Konfiguration

Konfigurationsdatei

/etc/sysconfig/iptables          - iptables rules
/etc/sysconfig/iptables-config   - iptables configuration

Beispielkonfigurationsdatei

# cat /etc/sysconfig/iptables
# Generated by iptables-save v1.4.7 on Wed Feb  3 12:54:50 2016
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [254737803:197953409382]
-A INPUT -p tcp -m tcp --dport 162 -j ACCEPT 
-A INPUT -p udp -m udp --dport 162 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14545 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 14161 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 5634 -j ACCEPT 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT
# Completed on Wed Feb  3 12:54:50 2016

Beispiel für die Einrichtung von NAT mit iptables

1. Vorhandene Regeln aus allen iptables-Tabellen löschen

# iptables -F
# iptables -t nat -F
# iptables -t mangle -F

2. NAT aktivieren

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i eth1 -j ACCEPT

3. iptables-Regeln speichern

# service iptables save

Hinweis :Vor der Einrichtung von NAT muss die IP-Weiterleitung aktiviert werden.

# echo 1 > /proc/sys/net/ipv4/ip_forward

Beispiel zum Öffnen eines bestimmten Ports mit iptables

1. Um eingehenden Datenverkehr auf dem Standard-SSH-Port (22) zuzulassen, können Sie iptables anweisen, den gesamten TCP-Datenverkehr an diesem Port zuzulassen

# iptables -A INPUT -p tcp --dport ssh -j ACCEPT

2. Um den gesamten eingehenden Webverkehr zuzulassen, können Sie iptables anweisen, den gesamten TCP-Verkehr an diesem Port zuzulassen

# iptables -A INPUT -p tcp --dport 80 -j ACCEPT

3. Iptables-Regeln speichern

# service iptables save


Linux
  1. Linux-Betriebssystemdienst „dhcpd“

  2. Linux-Betriebssystemdienst „anacron“

  3. Linux-Betriebssystemdienst „hplip“

  4. Linux-Betriebssystemdienst „smartd“

  5. Linux-Betriebssystemdienst „irqbalance“

Linux-Betriebssystemdienst „NetFS“

Linux-Betriebssystemdienst „ldap“

Linux-Betriebssystemdienst „yppasswdd“

Linux-Betriebssystemdienst „xendomains“

Linux-Betriebssystemdienst „nscd“

Linux-Betriebssystemdienst „Tintenfisch“