Я хочу проверить, присутствует ли ip в папке ccd, и протолкнуть ip-маршрут в цепочку FORWARDING в iptables. Я новичок в написании сценариев на bash, и мне нужна небольшая помощь в завершении этого сценария.
клиентский файл в / etc / openvpn / ccd:
ifconfig-push 10.8.0.45 255.255.255.0
push 'route 10.10.0.45'
Мне нужно grep 10.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 -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.
P.S. Я хотел добавить комментарии, чтобы узнать подробности, но у меня недостаточно очков, чтобы прокомментировать