Hi, habe mir einen kleinen Router gebastelt und wollte mal fragen ob sich mal wer zu meinen IPTABLES kommentieren mag?!
Im Bild ist der Netzaufbau beschrieben.
Nun zu dem was ich gerne möchte.
Auf dem Router läuft ein VPN-Client der immer verbunden sein sollte und darüber die Internetverbindung zur Verfügung stellt.
SCHWARZ soll ganz normal ins INTERNET. SCHWARZ darf mit ROT kommunizieren.
ROT darf mit SCHWARZ kommunizieren. ROT darf NUR über tun0 ins Internet. Steht die VPN-Verbindung nicht zur Verfügung soll die Kommunikation zu SCHWARZ weiter gehen aber das INTERNET nicht mehr.
#!/bin/bash IPT="/sbin/iptables" IPT6="/sbin/ip6tables" $IPT -F $IPT -X $IPT -t nat -F $IPT -t nat -X $IPT6 -F $IPT6 -X $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP $IPT6 -P INPUT DROP $IPT6 -P FORWARD DROP $IPT6 -P OUTPUT ACCEPT $IPT -A INPUT -i ens3 -m state --state NEW -p tcp --dport 22 -j ACCEPT $IPT -A INPUT -i ens4 -m state --state NEW -p tcp --dport 22 -j ACCEPT $IPT -t nat -A POSTROUTING -o tun0 -j MASQUERADE $IPT -t nat -A POSTROUTING -o ens3 -j MASQUERADE $IPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT $IPT -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT $IPT -A FORWARD -i ens4 -o tun0 -m conntrack --ctstate=NEW -j ACCEPT $IPT -A FORWARD -i ens4 -o ens3 -d 192.168.10.0/24 -m conntrack --ctstate=NEW -j ACCEPT $IPT -A FORWARD -i ens3 -o ens4 -d 192.168.20.0/24 -m conntrack --ctstate=NEW -j ACCEPT $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT $IPT -A OUTPUT -o tun0 -p icmp -j ACCEPT $IPT -A OUTPUT -o ens3 -d 192.168.10.0/24 -p icmp -j ACCEPT $IPT -A OUTPUT -o ens4 -d 192.168.20.0/24 -p icmp -j ACCEPT $IPT -A FORWARD -i ens3 -o ens4 -p icmp -j ACCEPT $IPT -A FORWARD -i ens4 -o ens3 -p icmp -j ACCEPT $IPT -A OUTPUT -d 192.168.10.0/24 -j ACCEPT $IPT -A OUTPUT -d 192.168.20.0/24 -j ACCEPT $IPT -A OUTPUT -p udp -m udp --dport 1194 -j ACCEPT $IPT -A OUTPUT -o tun0 -p udp --dport 53 -j ACCEPT $IPT -A OUTPUT -o tun0 -p tcp --dport 443 -j ACCEPT $IPT -A OUTPUT -o tun0 -p tcp --dport 80 -j ACCEPT $IPT -A FORWARD -o tun0 -p udp --dport 53 -j ACCEPT $IPT -A FORWARD -o tun0 -p tcp --dport 443 -j ACCEPT $IPT -A FORWARD -o tun0 -p tcp --dport 80 -j ACCEPT