Назад | Перейти на главную страницу

проверьте наличие ip и обновите iptables openvpn

Я хочу проверить, присутствует ли 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. Я хотел добавить комментарии, чтобы узнать подробности, но у меня недостаточно очков, чтобы прокомментировать