Hallo zusammen,
ich habe ein wireguard server auf meinen System laufen. Und moechte diesen oeffentlich zur Verfuegung stellen, dazu habe ich ein IP Table regel erstellt, welche automatisch ausgefuehrt wird oder eben geloescht werden.
Hier meine wireguard wg0.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [Interface] Address = 10.100.0.1/24 #, fd08:4711::1/64 ListenPort = 47111 PrivateKey = MyKey #PreUp = ip route add 10.100.0.1/24 via 192.168.178.1 dev eth0 #PostDown = ip route del 10.100.0.1/24 via 192.168.178.1 dev eth0 #PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # Add forwarding when VPN is started #PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # Remove forwarding when VPN is shutdown PostUp = /etc/wireguard/helper/add-nat-routing.sh PostDown = /etc/wireguard/helper/remove-nat-routing.sh [Peer] PublicKey = MyKey PresharedKey = MyKey AllowedIPs = 10.100.0.2/32 #, fd08:4711::2/128 |
hier dann "/etc/wireguard/helper/add-nat-routing.sh"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #!/bin/bash IPT="/sbin/iptables" IPT6="/sbin/ip6tables" IN_FACE="eth0" # NIC connected to the internet WG_FACE="wg0" # WG NIC SUB_NET="10.100.0.0/24" # WG IPv4 sub/net aka CIDR WG_PORT="47111" # WG udp port SUB_NET_6="fd08:4711::1/64" # WG IPv6 sub/net ## IPv4 ## $IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE $IPT -I INPUT 1 -i $WG_FACE -j ACCEPT $IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT $IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT $IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT ## IPv6 (Uncomment) ## ## $IPT6 -t nat -I POSTROUTING 1 -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE ## $IPT6 -I INPUT 1 -i $WG_FACE -j ACCEPT ## $IPT6 -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT ## $IPT6 -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT |
hier noch /etc/wireguard/helper/remove-nat-routing.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #!/bin/bash IPT="/sbin/iptables" IPT6="/sbin/ip6tables" IN_FACE="eth0" # NIC connected to the internet WG_FACE="wg0" # WG NIC SUB_NET="10.100.0.0/24" # WG IPv4 sub/net aka CIDR WG_PORT="47111" # WG udp port SUB_NET_6="fd08:4711::1/64" # WG IPv6 sub/net # IPv4 rules # $IPT -t nat -D POSTROUTING -s $SUB_NET -o $IN_FACE -j MASQUERADE $IPT -D INPUT -i $WG_FACE -j ACCEPT $IPT -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT $IPT -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT $IPT -D INPUT -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT # IPv6 rules (uncomment) # ## $IPT6 -t nat -D POSTROUTING -s $SUB_NET_6 -o $IN_FACE -j MASQUERADE ## $IPT6 -D INPUT -i $WG_FACE -j ACCEPT ## $IPT6 -D FORWARD -i $IN_FACE -o $WG_FACE -j ACCEPT ## $IPT6 -D FORWARD -i $WG_FACE -o $IN_FACE -j ACCEPT |
Die Konfiguration funktioniert soweit. Wenn ich nun noch einen Hotspot ueber mein wlan0 starte und diesen mit einem vpn Tunnel verbinde ueber
1 | iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT && sudo iptables -A FORWARD -i tun0 -o wlan0 -j ACCEPT && sudo iptables -t nat -A POSTROUTING -s 10.11.12.0/24 -o tun0 -j MASQUERADE |
kann ich mich nicht mehr mit meinem wirguard server verbinden.
Kann mir jdm. helfen die Routings richtig zu machen?
Moderiert von kB:
Aus dem Forum „Netzwerk und Internetzugang einrichten“ in einen besser passenden Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“) im jeweiligen Forum! Danke.
Bearbeitet von redknight:
Hilferuf aus dem Titel entfernt.