Я хочу проверить, присутствует ли 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
client-connect /etc/openvpn/on_connect.sh[12231 visiblescript Мне нужна помощь с 'grep' или 'awk'
static_ip= grep "^push \"route" | grep "^'" | cut -f2 -d" "
ip_destination=grep "^push \"route" | grep "^'" | cut -f3 -d" "
#! / usr / bin / env bash # # Добавить правила iptables на основе конфигурации клиента CCD. # CCD_DIR = "/ и т.д. / openvpn / ccd" # комментарий правила iptables -сценарий отключения будет # удалить все строки, соответствующие этому шаблону RULE_COMMENT = "OVPN _" $ common_name static_ip = grep .. ip_destination = grep .. если [-f $ CCD_DIR / $ common_name]; тогда sudo iptables -A FORWARD -s $ static_ip -d ip_destination -j ACCEPT фи выход 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. Я хотел добавить комментарии, чтобы узнать подробности, но у меня недостаточно очков для комментариев