Hallo zusammen, ich folge diesen Skripten hier, deluge-vpn. Das Skript schlägt im unten stehenden Routingscipt fehl, wenn es von openvpn aufgerufen wird. Wenn ich openvpn ohne das up-Skript starte und das Skript separat ausführe, läuft es einwandfrei. Sorry, wenn ich es nicht richtig eingestellt habe, aber jede Hilfe wäre eine große Hilfe.
Hier ist der Fehler
/etc/openvpn/link_up_user_filter.sh
Device "tun0" does not exist.
Error: an inet address is expected rather than "table".
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
sysctl: cannot stat /proc/sys/net/ipv4/conf/tun0/rp_filter: No such file or directory
Hier ist das Ergebnis, wenn es richtig läuft
Nov 17 16:16:46 hp-server openvpn[48795]: /usr/sbin/ip link set dev tun0 up mtu 1500
Nov 17 16:16:46 hp-server openvpn[48795]: /usr/sbin/ip addr add dev tun0 10.4.1.252/16 broadcast 10.4.255.255
Nov 17 16:16:51 hp-server openvpn[48795]: /usr/sbin/ip route add 213.152.161.116/32 via 192.168.1.254
Nov 17 16:16:51 hp-server openvpn[48795]: /usr/sbin/ip route add 0.0.0.0/1 via 10.4.0.1
Nov 17 16:16:51 hp-server openvpn[48795]: /usr/sbin/ip route add 128.0.0.0/1 via 10.4.0.1
Nov 17 16:16:51 hp-server openvpn[48795]: Initialization Sequence Completed
Hier ist das Skript:
#!/usr/bin/env bash
SRC_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "$SRC_DIR" ]]; then SRC_DIR="$PWD"; fi
source "$SRC_DIR/vpn_base.sh"
VPN_IP=`get_nic_ip $VPNIF`
# Remove old table
ip route flush table $TABLE_ID
# Add rule to use TABLE_ID for marked packets
if [[ `ip rule list | grep -c $MARK_ID` == 0 ]]; then
ip rule add from all fwmark $MARK_ID lookup $TABLE_ID
fi
ip route replace default via $VPN_IP table $TABLE_ID
ip route append default via 127.0.0.1 dev lo table $TABLE_ID
ip route flush cache
# Set reverse path source validation to lose mode
sysctl -w net.ipv4.conf.all.rp_filter=2
sysctl -w net.ipv4.conf.default.rp_filter=2
sysctl -w net.ipv4.conf.$VPNIF.rp_filter=2
openvpn.conf wie gewünscht
client
dev tun
proto udp
remote *.*.*.* *
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
comp-lzo no
route-delay 5
verb 3
explicit-exit-notify 5
script-security 2
#up and down scripts to be executed when VPN starts or stops
up /etc/openvpn/link_up_user_filter.sh
Antworten:
Ich konnte dieses Skript nicht richtig zum Laufen bringen, also wechselte ich auf einen separaten Netzwerknamensraum, der genau so funktionierte, wie ich es wollte. OpenVPN für eine einzelne Anwendung unter Linux
quelle