#!/bin/sh
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export GCONV_PATH=/opt/lib/gconv
case $1 in
start)
logger "Starting softether vpnclient service."
LANG=en_US.UTF-8 /opt/libexec/softethervpn/vpnclient start
sleep 5
ifconfig vpn_vpn //ip_интерфейса_vpn netmask 255.255.255.0 up
route add -net //внешний_белый_ip_сервера_vpn netmask 255.255.255.255 gw //шлюз_провайдера_через_что_вы_подключаетесь
route add -net 0.0.0.0 netmask 0.0.0.0 gw //ip_интерфейса_vpn
route del -net 0.0.0.0 netmask 0.0.0.0 gw //шлюз_провайдера_через_что_вы_подключаетесь
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F
iptables -I FORWARD 1 -i br0 -o vpn_vpn -j ACCEPT
iptables -I FORWARD 2 -i vpn_vpn -o br0 -j ACCEPT
iptables -I FORWARD 3 -s 192.168/24 -j ACCEPT //Ваша домашняя подсеть именно такого формата 192.168
iptables -t nat -A POSTROUTING -o vpn_vpn -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2.2 -d //внешний_белый_ip_сервера_vpn -j MASQUERADE
;;
stop)
logger "Stopping softether vpnclient service."
LANG=en_US.UTF-8 /opt/libexec/softethervpn/vpnclient stop
route del -net //внешний_белый_ip_сервера_vpn netmask 255.255.255.255 gw //шлюз_провайдера_через_что_вы_подключаетесь
route del -net 0.0.0.0 netmask 0.0.0.0 gw //ip_интерфейса_vpn
route add -net 0.0.0.0 netmask 0.0.0.0 gw //шлюз_провайдера_через_что_вы_подключаетесь
iptables -t nat -A POSTROUTING -o eth2.2 -j MASQUERADE
;;
restart)
logger "Starting softether vpnclient service."
LANG=en_US.UTF-8 /opt/libexec/softethervpn/vpnclient stop
route del -net //внешний_белый_ip_сервера_vpn netmask 255.255.255.255 gw //шлюз_провайдера_через_что_вы_подключаетесь
route del -net 0.0.0.0 netmask 0.0.0.0 gw //ip_интерфейса_vpn
route add -net 0.0.0.0 netmask 0.0.0.0 gw //шлюз_провайдера_через_что_вы_подключаетесь
sleep 5
logger "Stopping softether vpnclient service."
LANG=en_US.UTF-8 /opt/libexec/softethervpn/vpnclient start
sleep 5
ifconfig vpn_vpn //ip_интерфейса_vpn netmask 255.255.255.0 up
route add -net //внешний_белый_ip_сервера_vpn netmask 255.255.255.255 gw //шлюз_провайдера_через_что_вы_подключаетесь
route add -net 0.0.0.0 netmask 0.0.0.0 gw //ip_интерфейса_vpn
route del -net 0.0.0.0 netmask 0.0.0.0 gw //шлюз_провайдера_через_что_вы_подключаетесь
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -F
iptables -I FORWARD 1 -i br0 -o vpn_vpn -j ACCEPT
iptables -I FORWARD 2 -i vpn_vpn -o br0 -j ACCEPT
iptables -I FORWARD 3 -s 192.168/24 -j ACCEPT
iptables -t nat -A POSTROUTING -o vpn_vpn -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2.2 -d //внешний_белый_ip_сервера_vpn -j MASQUERADE
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
vpn_vpn - интерфейс softhether
br0 - интерфейс домашний сети
eth2.2 - интерфейс через что выхожу во внешку
Для настройки нужен пакет iptables
Файл находится в папке \etc\init.d\
Плюс приложу сюда
Usage: /opt/etc/init.d/S05vpnclient {start|stop|restart}
При включении стартует автоматом.
S05vpnclient.bash