Merge pull request #59 from thomastweets/master
Add a parameter to use TAP instead of TUN device.
This commit is contained in:
commit
e557222753
@ -44,6 +44,7 @@ usage() {
|
|||||||
echo " -D Disable built in external dns (google dns)"
|
echo " -D Disable built in external dns (google dns)"
|
||||||
echo " -N Configure NAT to access external server network"
|
echo " -N Configure NAT to access external server network"
|
||||||
echo " -m Set client MTU"
|
echo " -m Set client MTU"
|
||||||
|
echo " -t Use TAP device (instead of TUN device)"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$DEBUG" == "1" ]; then
|
if [ "$DEBUG" == "1" ]; then
|
||||||
@ -57,6 +58,8 @@ OVPN_SERVER=192.168.255.0/24
|
|||||||
OVPN_DEFROUTE=1
|
OVPN_DEFROUTE=1
|
||||||
OVPN_NAT=0
|
OVPN_NAT=0
|
||||||
OVPN_DNS=1
|
OVPN_DNS=1
|
||||||
|
OVPN_DEVICE="tun"
|
||||||
|
OVPN_DEVICEN=0
|
||||||
OVPN_ROUTES=()
|
OVPN_ROUTES=()
|
||||||
TMP_ROUTES=()
|
TMP_ROUTES=()
|
||||||
OVPN_PUSH=()
|
OVPN_PUSH=()
|
||||||
@ -66,7 +69,7 @@ TMP_PUSH=()
|
|||||||
[ -r "$OVPN_ENV" ] && source "$OVPN_ENV"
|
[ -r "$OVPN_ENV" ] && source "$OVPN_ENV"
|
||||||
|
|
||||||
# Parse arguments
|
# Parse arguments
|
||||||
while getopts ":r:s:du:cp:DNm:" opt; do
|
while getopts ":r:s:du:cp:DNm:t" opt; do
|
||||||
case $opt in
|
case $opt in
|
||||||
r)
|
r)
|
||||||
TMP_ROUTES+=("$OPTARG")
|
TMP_ROUTES+=("$OPTARG")
|
||||||
@ -95,6 +98,9 @@ while getopts ":r:s:du:cp:DNm:" opt; do
|
|||||||
m)
|
m)
|
||||||
OVPN_MTU=$OPTARG
|
OVPN_MTU=$OPTARG
|
||||||
;;
|
;;
|
||||||
|
t)
|
||||||
|
OVPN_DEVICE="tap"
|
||||||
|
;;
|
||||||
\?)
|
\?)
|
||||||
set +x
|
set +x
|
||||||
echo "Invalid option: -$OPTARG" >&2
|
echo "Invalid option: -$OPTARG" >&2
|
||||||
@ -135,7 +141,7 @@ fi
|
|||||||
|
|
||||||
export OVPN_SERVER OVPN_ROUTES OVPN_DEFROUTE
|
export OVPN_SERVER OVPN_ROUTES OVPN_DEFROUTE
|
||||||
export OVPN_SERVER_URL OVPN_ENV OVPN_PROTO OVPN_CN OVPN_PORT
|
export OVPN_SERVER_URL OVPN_ENV OVPN_PROTO OVPN_CN OVPN_PORT
|
||||||
export OVPN_CLIENT_TO_CLIENT OVPN_PUSH OVPN_NAT OVPN_DNS OVPN_MTU
|
export OVPN_CLIENT_TO_CLIENT OVPN_PUSH OVPN_NAT OVPN_DNS OVPN_MTU OVPN_DEVICE
|
||||||
|
|
||||||
# Preserve config
|
# Preserve config
|
||||||
if [ -f "$OVPN_ENV" ]; then
|
if [ -f "$OVPN_ENV" ]; then
|
||||||
@ -168,7 +174,7 @@ persist-tun
|
|||||||
proto $OVPN_PROTO
|
proto $OVPN_PROTO
|
||||||
# Rely on Docker to do port mapping, internally always 1194
|
# Rely on Docker to do port mapping, internally always 1194
|
||||||
port 1194
|
port 1194
|
||||||
dev tun0
|
dev $OVPN_DEVICE$OVPN_DEVICEN
|
||||||
status /tmp/openvpn-status.log
|
status /tmp/openvpn-status.log
|
||||||
|
|
||||||
user nobody
|
user nobody
|
||||||
@ -191,7 +197,7 @@ for i in "${OVPN_PUSH[@]}"; do
|
|||||||
echo push \"$i\" >> "$conf"
|
echo push \"$i\" >> "$conf"
|
||||||
done
|
done
|
||||||
|
|
||||||
set +e
|
set +e
|
||||||
|
|
||||||
# Clean-up duplicate configs
|
# Clean-up duplicate configs
|
||||||
if diff -q "$bak_env" "$OVPN_ENV" 2>/dev/null; then
|
if diff -q "$bak_env" "$OVPN_ENV" 2>/dev/null; then
|
||||||
|
@ -34,7 +34,7 @@ get_client_config() {
|
|||||||
echo "
|
echo "
|
||||||
client
|
client
|
||||||
nobind
|
nobind
|
||||||
dev tun
|
dev $OVPN_DEVICE
|
||||||
remote-cert-tls server
|
remote-cert-tls server
|
||||||
|
|
||||||
remote $OVPN_CN $OVPN_PORT $OVPN_PROTO
|
remote $OVPN_CN $OVPN_PORT $OVPN_PROTO
|
||||||
|
Loading…
Reference in New Issue
Block a user