So, jetzt aber:
Code
# Set policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Allow anything on the local link
iptables -A INPUT ! -i lo -s 127.0.0.0/8 -j DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Enable VPN
iptables -A INPUT -i eth0 -m udp -p udp --dport 1194 -j ACCEPT
# Allow anything out on the internet
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow forwarding to internet and back
iptables -A FORWARD -i tun0 -o tun1 -j ACCEPT
iptables -A FORWARD -i tun1 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Enable SSH (private)
iptables -I INPUT -i eth0 -s 77.22.xx.xx -m tcp -p tcp --dport 22 -m state --state NEW -j ACCEPT
Alles anzeigen
Das PREROUTIG und POSTROUTING wird durch ein Python Skript erledigt(sieht kompliziert aus ist es aber nicht. Das Skript von dem VPN-Client ausgeführt, der sich mit Perfect Privacy verbindet. Hier zur Info der Output.
Code
Sat Feb 22 16:33:38 2020 us=784748 /sbin/ip addr add dev tun1 10.0.179.243/24 broadcast 10.0.179.255
Sat Feb 22 16:33:38 2020 us=787704 /etc/openvpn/scripts/neu.py tun1 1500 1609 10.0.179.243 255.255.255.0 init
######################################################## Script ######################################
Pruefe ip_forward_state
ip_forward_state ist bereits aktiviert
Setze Akzeptanz von tun1 auf 2:
/sbin/sysctl -w net.ipv4.conf.tun1.rp_filter=2 > /dev/null 2>&1
Deaktiviere POSTROUTING
iptables -t nat -D POSTROUTING 1 > /dev/null 2>&1
Erstelle Tables in /etc/iproute2/rt_tables:
10 router
20 vpn
Setze default Route:
ip route add default via 94.16.xxx.1 dev eth0 table router
ip route add default via 10.0.179.243 dev tun1 table vpn
Erstelle Regel:
ip rule add from all fwmark 10 lookup router
ip rule add from all fwmark 20 lookup vpn
Ermittle Netzwerk:
Home client : raspberrypi
Home Network: 172.16.0.0 255.255.255.0
Erstelle homeclient ccd
Client: raspberrypi 10.8.0.50
Client: raspberrypi ccd erstellt
Erstelle client ccd
Client: ThinkPad 10.8.0.3
Client: ThinkPad ccd erstellt. Zugriff auf green.
Client: pixel2 10.8.0.4
Client: pixel2 ccd erstellt. Zugriff auf green.
Client: ThinkPad2 10.8.0.5
Client: ThinkPad2 ccd erstellt. Zugriff auf green.
Client: ipfire 10.8.0.6
Client: ipfire ccd erstellt. Zugriff auf green.
Client: pixel 10.8.0.7
Client: pixel ccd erstellt. Zugriff auf green.
Erstelle iptables PREROUTING
iptables -t mangle -A PREROUTING -s 10.8.0.3 -j MARK --set-mark 20 #ThinkPad to vpn
iptables -t mangle -A PREROUTING -s 10.8.0.4 -j MARK --set-mark 10 #pixel2 to red
iptables -t mangle -A PREROUTING -s 10.8.0.5 -j MARK --set-mark 10 #ThinkPad2 to red
iptables -t mangle -A PREROUTING -s 10.8.0.6 -j MARK --set-mark 10 #ipfire to red
iptables -t mangle -A PREROUTING -s 10.8.0.7 -j MARK --set-mark 20 #pixel to vpn
Erstelle iptables POSTROUTING
iptables -t nat -A POSTROUTING --match mark --mark 10 -j SNAT --to 94.16.xxx.xxx
iptables -t nat -A POSTROUTING --match mark --mark 20 -j SNAT --to 10.0.179.243
###################################################### Script Ende ###################################
Sat Feb 22 16:33:40 2020 us=880799 Initialization Sequence Completed
Alles anzeigen