IP Routing Problem...

Alles rund um Netzwerktechnik und Protokolle
Bonkknogger
Posts: 23
Joined: 2014-04-19 12:39

IP Routing Problem...

Post by Bonkknogger »

Servus liebe leutz,

ich betreue den Server eines Freundes welcher sich den aus der ServerBoerse von Hetzner bestellt hat. Der Server hat nun schon einige Jahre auf dem Buckel, aber es hackt an dem kompletten IP Zuweisung.

die IPs werden auf der Netzwerkkarte vai ip up eingebunden. *Externe IPs sind Teilanonymisiert.

Code: Select all

root ~ # nano /etc/network/interfaces
iface enp6s0 inet static
	address  xxx.xxx.xxx.xxx
	netmask  255.255.255.224
	gateway  xxx.xxx.xxx.xxx
	up route add -net xxx.xxx.xxx.xxx netmask 255.255.255.224 gw xxx.xxx.xxx.xxx dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0
	up ip addr add xxx.xxx.xxx.xxx/32 dev enp6s0

auto vmbr0
iface vmbr0 inet static
	address  192.168.100.254
	netmask  255.255.255.0
	bridge_ports none
	bridge_stp off
	bridge_fd 0
	post-up echo 1 > /proc/sys/net/ipv4/ip_forward
	post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o enp6s0 -j MASQUERADE
	post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o enp6s0 -j MASQUERADE
so sind die IPs nun auf dem RootServer bekannt und sind abrufbar. Da mit Proxmox Virtualisiert wird ist die vmbr0 hier vorhanden welche den VMs eine Interne IP vergeben sollte (sofern DHCP läuft) andernfalls sind die VMs Manuell auf das Netzwerk eingestellt.

VM01 => 192.168.100.10
VM02 => 192.168.100.20
u.s.w.

auf dem Root Server wird eine IPTables basierendes Script ausgeführt welche die IP Adressen an das Jeweilige Interne Netz Routen sollte.

Code: Select all

#!/bin/bash

# POLICY
# ------------------------------------------------------------

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -F
iptables -t nat -F

# REGELN :: LO
# ------------------------------------------------------------

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# REGELN :: DNAT + SNAT
# ------------------------------------------------------------

iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -j DNAT --to-destination 192.168.100.20
iptables -t nat -A POSTROUTING -s 192.168.100.20 -j SNAT --to-source xxx.xxx.xxx.xxx

iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -j DNAT --to-destination 192.168.100.30
iptables -t nat -A POSTROUTING -s 192.168.100.30 -j SNAT --to-source xxx.xxx.xxx.xxx

iptables -t nat -A PREROUTING -d 46.4.xxx.xxx -j DNAT --to-destination 192.168.100.50
iptables -t nat -A POSTROUTING -s 192.168.100.50 -j SNAT --to-source xxx.xxx.xxx.xxx

iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -j DNAT --to-destination 192.168.100.10
iptables -t nat -A POSTROUTING -s 192.168.100.10 -j SNAT --to-source xxx.xxx.xxx.xxx

# iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -j DNAT --to-destination 192.168.100.60
# iptables -t nat -A POSTROUTING -s 192.168.100.60 -j SNAT --to-source xxx.xxx.xxx.xxx

# iptables -t nat -A PREROUTING -d xxx.xxx.xxx.x -j DNAT --to-destination 192.168.100.Y
# iptables -t nat -A POSTROUTING -s 192.168.100.Y -j SNAT --to-source xxx.xxx.xxx.x

# REGELN :: NET - LOKAL - NET
# ------------------------------------------------------------

iptables -A INPUT -i enp6s0 -p tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp6s0 -p tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp6s0 -p tcp --dport 8006 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp6s0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i enp6s0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp6s0 -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o enp6s0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp6s0 -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp6s0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# REGELN :: VM - LOKAL - VM
# ------------------------------------------------------------

iptables -A INPUT -i vmbr0 -p tcp --dport 22 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -i vmbr0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i vmbr0 -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i vmbr0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A OUTPUT -o vmbr0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o vmbr0 -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o vmbr0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# REGELN :: NET - VM - NET
# ------------------------------------------------------------

iptables -A FORWARD -i enp6s0 -o vmbr0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o vmbr0 -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o vmbr0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i vmbr0 -o enp6s0 -p tcp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i vmbr0 -o enp6s0 -p udp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i vmbr0 -o enp6s0 -p icmp -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

# END-REGELN
# ------------------------------------------------------------

iptables -A INPUT -i enp6s0 -j REJECT
iptables -A INPUT -i vmbr0 -j REJECT

iptables -A OUTPUT -o enp6s0 -j REJECT
iptables -A OUTPUT -o vmbr0 -j REJECT

iptables -A FORWARD -i enp6s0 -o vmbr0 -j REJECT
iptables -A FORWARD -i vmbr0 -o enp6s0 -j REJECT
wenn ich die VMs untereinnander mit der Internen IP Anspreche, klappt alles vernünftig. die andere VM Antwortet auf meine Anfragen. Wenn ich diese nun aber über die Externe IP anprechen möchte, geht das ins leere und erhalte ein 100% Packet Lost. vlt ist es nur ein Denkfehler, aber ich blicke nicht mehr durch wo ich einen fehler gemacht haben könnte.

das IPTables Script stammt nicht von mir dies ist noch von einem weiteren Administrator.

die VMs 2x Linux, 2x Windows haben alle das Selbe problem.

Das Hostsystem basiert auf Debian 10, Aktuelle Updates eingespielt in verbindung mit Proxmox. ebenfalls ist DNSMasQ installiert. Die VMs haben als DNS Server den Root eingetragen bekommen und als 2. DNS den Server 1.1.1.1, Gateway steht ebenfalls bei der Internen IP des Roots (192.168.100.254)

ich hoffe das mir hier jemand helfen kann denn das Routing Problem belastet auch die VMs wenn diese eine Verbindung zu anderen Servern aufbauen wollen um Versionen zu Prüfen.
Last edited by Bonkknogger on 2020-08-23 12:18, edited 1 time in total.

Bonkknogger
Posts: 23
Joined: 2014-04-19 12:39

Re: IP Routing Problem...

Post by Bonkknogger »

Problem hat sich gefunden.

habe einfach iptables -P FORWARD DROP in iptables -P FORWARD ACCEPT gewechselt und dann klappte es