Archiv

Posts Tagged ‘IP-Forwarding’

Weiterleitung von IP-Verkehr und Verwendung von iptables für NAT

2012/02/10 Kommentare aus

Um IP-Forwarding permanent zu aktivieren ist ein Eintrag in /etc/sysctl.conf erforderlich:

# IP-Forwarding aktivieren
net.ipv4.ip_forward = 1
# IPv6-Forwarding aktivieren
net.ipv6.conf.default.forwarding = 1

Nach geänderter Konfiguration ist die Datei /etc/sysctl.conf neu einzulesen:

sysctl -p

NAT

NAT ist durch Hinzfügen zweier einfacher Firewallregeln zu aktivieren, schneller ist jedoch wahrscheinlich die Konfiguration mit Hilfe des Werkzeugs system-config-firewall-tui:

yum install -y system-config-firewall-tui
system-config-firewall-tui

Anpassen -> 3x Weiter ->Device(s) für NAT (Masquerade) markieren -> Schließen

Kategorien:RHCE Schlagwörter:

Verwendung von /proc/sys und sysctl zur Modifizierung und Einrichtung der Kernel-Laufzeitparameter

2012/01/19 Kommentare aus

Diverse Kernelparameter lassen sich zur Laufzeit verändern bzw. auslesen. Linux stellt dazu das /proc-Dateisystem bereit. Darin ist eine Vielzahl von Dateien enthalten, die Informationen über das laufende System enthalten. Die meisten davon lassen sich mit Hilfe des Befehls cat ansehen. Dateien unterhalb /proc/sys lassen sich zur Laufzeit verändern und ermöglichen damit eine Veränderung diverser Kernelparameter.

Anzeigen diverser Informationen in /proc

cat filesystems    # vom Kernel unterstützte Dateisysteme
cat swaps          # aktuell verwendete Swap-Speicher
cat interrupts     # belegte Interrupts
cat version        # Kernelversion

Veränderung von Kernelparametern zur Laufzeit

In /proc/sys gelegene Dateien lassen sich nicht nur wie oben beschrieben auslesen, sondern meist auch mit echo oder durch Aufruf von sysctl beschreiben:

echo 1 > /proc/sys/net/ipv4/ip_forward            # IP-Forwarding aktivieren
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all  # Ping nicht beantworten
echo 1 > /proc/sys/net/ipv4/conf/eth2/accept_source_route    # Source Route

Permanente Änderung von Kernel-Parametern

Auf diese Weise durchgeführte Änderungen gehen nach einem Neustart des Systems jedoch verloren. Sollen Parameter permanent modifiziert werden ist ein Eintrag in /etc/sysctl.conf notwendig. Diese Datei ist bereits im System vorhanden und kann entsprechend angepasst werden.

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Do not accept source routing
net.ipv4.conf.default.accept_source_route = 0
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# Controls the use of TCP syncookies
net.ipv4.tcp_syncookies = 1
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456

Die Einträge spiegeln die Verzeichnisstruktur innerhalb /proc/sys wieder, anstatt dem Forward-Slash (/) wird hier einfach ein Punkt verwendet.

Nach einer Änderung von Parametern in /etc/sysctl.conf ist der Aufruf des Befehls sysctl notwendig, um diese auch wirksam zu machen:

sysctl -p   # Lade Einstellungen aus sysctl.conf

 

Weiterführende Informationen bieten die Befehle

man sysctl
man sysctl.conf
Kategorien:RHCE Schlagwörter: , , , ,