Iptables

檢查 ip 是否存在並更新 iptables openvpn

  • March 2, 2020

我想檢查 ccd 文件夾中是否存在 ip,並將 ip 路由推送到 iptables 中的 FORWARDING 鏈。我是 bash 腳本的新手,需要一些幫助來完成這個腳本。

/etc/openvpn/ccd 中的客戶端文件:

ifconfig-push 10.8.0.45 255.255.255.0
push 'route 10.10.0.45'

我需要 grep10.8.0.45 & 10.10.0.45

並將這些路由推送到 iptables 中。例如

iptables -A FORWARD -s 10.8.0.45 -d 10.10.0.45 -j ACCEPT

客戶端連接 /etc/openvpn/on_connect.sh

腳本我需要“grep”或“awk”的幫助

static_ip=  grep "^push \"route" | grep "^'" | cut -f2 -d" "

ip_destination=grep "^push \"route" | grep "^'" | cut -f3 -d" "
#!/usr/bin/env bash
#
#  Add iptables rules based on CCD client config.
#

CCD_DIR="/etc/openvpn/ccd"
# iptables rule comment - the disconnect script will
# remove all strings matching this pattern
RULE_COMMENT="OVPN_"$common_name
static_ip=grep..
ip_destination=grep..



if [ -f $CCD_DIR/$common_name ]; then
  sudo iptables -A FORWARD -s $static_ip -d ip_destination -j ACCEPT
fi

exit 0

如果要對openvpn目錄中的文件進行 grep,grep -R /etc/openvpn/ccd -E '10.(8|45).0.45' 要查看這是否返回成功,您可以執行以下操作:

if grep -qRE /etc/openvpn/ccd '10\.(8|45)\.0\.45' ; then
   : # do somethig
fi

HTH。

PS我想添加評論以詢問更多詳細資訊,但我沒有足夠的評論點數

引用自:https://serverfault.com/questions/1005222