Benutzer-Werkzeuge

Webseiten-Werkzeuge


routing

Dies ist eine alte Version des Dokuments!


Routing

ip Befehl

Mit dem ip-Befehl lassen sich viele Netzwerkeinstellungen manipulieren.

IP-Adressen

IP-Adressen anzeigen

ip a			# Abkürzung für ip addr

IP-Adresse hinzufügen

Bei der Vergabe von IP-Adressen muss die Subnetzmaske in der CIDR-Notation mit angegeben werden, sonst wird angenommen, dass ein /32-Netz mit nur einem einzigen Host verwendet wird. Falls nur eine Netzwerkkarte angeschlossen ist, muss das Interface nicht angegeben werden.

ip a add 10.0.100.1/24 dev enp1s0

IP-Adresse entfernen

ip a del 10.0.100.1/24 dev enp1s0

Routen

Routen anzeigen

ip r			# Abkürzung für ip route

Route hinzufügen

So kann man eine Default-Route über das Gateway 10.0.100.1 hinzufügen:

ip r add default via 10.0.100.1 dev enp1s0

So fügt man eine Route zu dem 10.0.200.0/24-Netzwerk über das Gateway 10.0.200.1 hinzu:

ip r add 10.0.200.0/24 via 10.0.200.1 dev enp1s0

Route löschen

So kann man eine default-Route löschen. Da es nur eine default-Route geben kann, braucht man kein Interface anzugeben.

ip r del default

So kann man die Route zu dem Netzwerk 10.0.200.0/24 über das Gateway 10.0.200.1 löschen:

ip r del 10.0.200.0/24 via 10.0.200.1 dev enp1s0

nft Befehl

nft steht für nftables, das wiederum für netfilter tables, und das ist der Nachfolger von iptables. Dieses Programm wird für Firewall, bzw. Packet filtering verwendet.

Wir benötigen diesen Befehl hauptsächlich um NAT auf unseren Routern zu betreiben.

Welche Netzwerkkarte ist physisch verbunden?

Das geht leicht mit diesem befehl:

grep "" /sys/class/net/*/* 2>/dev/null | grep operstate

Packet forwarding einschalten

Damit ein Router überhaupt als solcher funktionieren kann, muss packet forwarding eingeschaltet werden. Das kann man indem man die Datei /etc/sysctl.conf bearbeitet und die Zeile net.ipv4.ip_forward=1 auskommentiert oder indem man diesen Einzeiler ausführt:

sed -i '/^.*ip_forward=1/s/^#//' /etc/sysctl.conf

So kann man es ausschalten:

sed -i '/^.*ip_forward=1/s/^/#/' /etc/sysctl.conf

NETLAB Test-Setup line-Topologie

router

source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug enp0s7
iface enp0s7 inet static
	address 134.99.246.151
	netmask 255.255.255.0
	gateway 134.99.246.1
 
# The secondary network interface
allow-hotplug enp1s6
iface enp1s6 inet static
	address 10.0.1.0
	netmask 255.255.255.254
	up	ip route add 10.0.0.0/16 via 10.0.1.1 dev enp1s6
	down	ip route del 10.0.0.0/16 via 10.0.1.1 dev enp1s6
table ip nat {
	chain post {
		type nat hook postrouting priority 0; policy accept;
		ip saddr 10.0.1.1 oif "enp0s7" snat to 134.99.246.151
	}
}
table inet filter {
	chain input {
		type filter hook input priority 0; policy accept;
	}
	chain forward {
		type filter hook forward priority 0; policy accept;
	}
	chain output {
		type filter hook output priority 0; policy accept;
	}
}

host1

source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug enp1s0
iface enp1s0 inet static
	address 10.0.1.1
	netmask 255.255.255.254
	gateway 10.0.1.0
 
allow-hotplug enp1s0
iface enp1s0 inet static
	address 10.0.2.0
	netmask 255.255.255.254
table ip nat {
	chain post {
		type nat hook postrouting priority 0; policy accept;
		ip saddr 10.0.2.1 oif "enp1s0" snat to 10.0.1.1
	}
}
table inet filter {
	chain input {
		type filter hook input priority 0; policy accept;
	}
	chain forward {
		type filter hook forward priority 0; policy accept;
	}
	chain output {
		type filter hook output priority 0; policy accept;
	}
}

host2

source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug enp1s0
iface enp1s0 inet static
	address 10.0.2.1
	netmask 255.255.255.254
	gateway 10.0.2.0
routing.1519068779.txt.gz · Zuletzt geändert: 2018/02/19 20:32 von admin