From 8a0f31b7ca146d1d9040bc1b451aaba0337c059d Mon Sep 17 00:00:00 2001 From: Kaladin Light <0.kaladin@gmail.com> Date: Sun, 11 Dec 2016 22:04:17 -0500 Subject: [PATCH] Try some iptables fix. (2/2). Needs unit testing. --- pivpn | 7 +++---- scripts/fix_iptables.sh | 6 +++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pivpn b/pivpn index a5f8fff..5814b90 100644 --- a/pivpn +++ b/pivpn @@ -37,10 +37,7 @@ function debugFunc { if [[ ${noUFW} -eq 1 ]]; then IPTABLES_FIX=`iptables -t nat -L -n -v | grep -c 'MASQUERADE.*10.8.0.0\/24'` iptables -t nat -L -n -v | grep -q 'MASQUERADE.*10.8.0.0\/24' - if [ $? = 0 ]; then - echo Good, rule exists - else - echo in rule does not exist area + if [ $? -ne 0 ]; then IPTABLES_FIX=2 fi if [[ ${IPTABLES_FIX} -gt 1 ]]; then @@ -50,6 +47,8 @@ function debugFunc { if [[ ${REPLY} =~ ^[Yy]$ ]]; then $SUDO /opt/pivpn/fix_iptables.sh fi + echo "::: Attempt at fix completed." + echo "::: Run 'pivpn debug' again to see if we detect issues." fi fi exit 1 diff --git a/scripts/fix_iptables.sh b/scripts/fix_iptables.sh index a6ff33b..697191a 100644 --- a/scripts/fix_iptables.sh +++ b/scripts/fix_iptables.sh @@ -2,4 +2,8 @@ # PiVPN: Fix iptables script # called by pivpnDebug.sh -echo "I don't exist yet..." +IPv4dev=$(ip route get 8.8.8.8 | awk '{for(i=1;i<=NF;i++)if($i~/dev/)print $(i+1)}') +iptables -t nat -F +iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ${IPv4dev} -j MASQUERADE +iptables-save > /etc/iptables/rules.v4 +iptables-restore < /etc/iptables/rules.v4