Jump to content

Выборочный роутинг через VPN туннель


Recommended Posts

3 часа назад, Zeleza сказал:

 как автоматом получить название интерфейса туннеля из CLI в Entware.

А зачем CLI если вы все видите по ifconfig

Для CLI есть примочка - ndmq и можно еще xmlstarlet, ниже варианты того что можно на их базе делать

Скрытый текст


/ # ndmq -p 'show interface Bridge0' -P address
192.168.130.100


lan_ip=$(ndmq -p 'show interface Bridge0' -P address)


ndmq -p "no interface $interface connect"
sleep 5  
ndmq -p "interface $interface connect"


ndmq -p 'interface PPPoE0 dyndns profile _WEBADMIN' -P message


# ndmq -p 'show interface' -x 
<response>
    <interface name="GigabitEthernet0">
        <id>GigabitEthernet0</id>
      ....

      
# ndmq -p 'show interface' -x | xmlstarlet sel -t -m '//interface[link="up"][state="up"][connected="yes"]' -v '@name' -o ': ' -v 'address' -o '/' -v 'mask' -n

WifiMaster0/WifiStation0: 192.168.6.4/255.255.255.0
Home: 192.168.11.1/255.255.255.0
Guest: 10.1.30.1/255.255.255.0
      
      
# ndmq -p "show interface" -P interface/id
FastEthernet0
FastEthernet0/0
FastEthernet0/1
FastEthernet0/2
FastEthernet0/3
FastEthernet0/4
FastEthernet0/Vlan1
FastEthernet0/Vlan2
WifiMaster0
WifiMaster0/AccessPoint0
WifiMaster0/AccessPoint1
WifiMaster0/AccessPoint2
WifiMaster0/AccessPoint3
WifiMaster0/WifiStation0
Bridge0
Bridge1


# ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][connected="yes"]' -v '@name' -o ': ' -v 'address' -o '/' -v 'mask' -n
FastEthernet0: /
FastEthernet0/Vlan1: /
ISP: /
Home: 192.168.130.100/255.255.255.0
PPPoE0: 1хх.ххх.ххх.11/255.255.255.255

      
link=`ndmq -p 'show interface WifiMaster0/WifiStation0' -P link`

      
$traf_guest = "ndmq -p 'show interface CdcEthernet0' -P rate 
ndmq -p 'interface CdcEthernet0 traffic-shape rate 50000' -P message
      
      
ConnName=Rostelecom
LIST=`ndmq -p 'show interface' -x | xml sel -t -m '//interface[link="up"][state="up"][global="yes"][defaultgw="yes"]' -v '@name' -o ',' -v 'description' -o ',' -v 'address' -o ',' -v 'via' -n`
prov=`echo "$LIST"| grep $ConnName`
      
      
ndmq -p "interface $_iface connect via $_via" -P message


      
[ `ndmq -P tunnel-local-source -p "show interface Gre0"` == "1.2.3.4" ] && exit 0

ndmq -p "interface Gre0 down"
ndmq -p "interface Gre0 up"

Берете вывод команды "show interface" нужные поля, подставляете в "xml sel" и получаете то что нужно.

 

Edited by vasek00
Link to comment
Share on other sites

Скрытый текст

ovpn_br0  Link encap:Ethernet  HWaddr хх:хх:хх:хх:хх:45  
          inet addr:192.168.107.66  Bcast:192.168.111.255  Mask:255.255.248.0
          inet6 addr: feхх::хххх:хххх:хххх:хххх/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1672 (1.6 KiB)  TX bytes:1296 (1.2 KiB)


/ # ndmq -p 'show interface' -x
<response>
...  
<interface name="OpenVPN0">
        <id>OpenVPN0</id>
        <index>0</index>
        <type>OpenVPN</type>
        <description>anti</description>
        <interface-name>OpenVPN0</interface-name>
        <link>up</link>
        <connected>yes</connected>
        <state>up</state>
        <role>
            misc
        </role>
        <mtu>1500</mtu>
        <tx-queue-length>0</tx-queue-length>
        <address>192.168.107.66</address>
        <mask>255.255.248.0</mask>
        <uptime>5942</uptime>
        <global>yes</global>
        <defaultgw>no</defaultgw>
        <priority>65027</priority>
        <security-level>public</security-level>
        <mac>хх:хх:хх:хх:хх:45</mac>
        <auth-type>none</auth-type>
        <country>RU</country>
        <organization>ProstoVPN.ru</organization>
        <common-name>antizapret-server</common-name>
        <tunnel-protocol>tcp-client</tunnel-protocol>
        <via>PPPoE0</via>
    </interface>
...

Поле role

role Интерфейс используется для подключения
к Интернету.
inet
iptv Интерфейс используется для службы IPTV.
voip Интерфейс используется для службы VoIP.
misc Интерфейс используется для IP Policy.

 

Для поля global

Параметр свойства «global» влияет на приоритет интерфейса в праве установить маршрут по умолчанию. Чем приоритет больше, тем
желательнее для пользователя выход в глобальную сеть через указанный интерфейс. С помощью приоритета реализуется функция резервирования
подключения в интернет (WAN backup) «global».

 

Остальные более понятны из названий или можно посмотреть в cli

Вдогонку к верхнему посту

Edited by vasek00
Link to comment
Share on other sites

1 час назад, vasek00 сказал:

Для CLI есть примочка - ndmq и можно еще xmlstarlet, ниже варианты того что можно на их базе делать

Благодарю Вас. То что нужно).

Доработанный скрипт ниже. 
Полностью на автомате сделать не получилось, так как скрипту нужно понимать с каким именно типом туннеля имеем дело, потому выбираем необходимый тип туннеля в переменной IF_TYPE, а остальные варианты комментируем.

 Доработанный скрипт /opt/etc/ndm/ifstatechanged.d/100-add_antizapret_route.sh 

#!/bin/sh

IF_TYPE=OpenVPN
#IF_TYPE=VPNL2TP
#IF_TYPE=IKE
#IF_TYPE=Wireguard

NFACE="$(ndmq -p 'show interface' -x | grep "$IF_TYPE*" -A5 | grep "<link>up" -B1 | head -1 |cut -d">" -f2 | cut -d"<" -f1)"

[ "$1" == "hook" ] || exit 0
[ "$change" == "link" ] || exit 0
[ "$id" == "$NFACE" ] || exit 0

case ${id}-${change}-${connected}-${link}-${up} in
        "$NFACE"-link-no-down-down)
                ip route flush table 1000
                ip rule del iif br0 table 1000 priority 1777 2>/dev/null
        ;;
        "$NFACE"-link-yes-up-up)
                ip rule add iif br0 table 1000 priority 1777 2>/dev/null
                /opt/bin/unblock_vpn.sh &
        ;;
esac

exit 0

Так же, привожу здесь чуть доработанный /opt/bin/unblock_vpn.sh, вариант с использованием dig (он все же побыстрее работает)
 

#!/bin/sh

sep="-----------------------------------------------------"

log_mess="================== UNBLOCK SERVICE =================="
echo $log_mess                                                                                

DNS=
IP_ROUTE="$(ip rule list | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')"      
INFACE="$(ifconfig | grep "$IP_ROUTE" -B1 | head -1 |cut -d " " -f1)"

cut_local() {
	grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}

log_mess="Interface is $INFACE and gateway is $IP_ROUTE"
echo $log_mess
echo $sep

until ADDRS=$(dig +short google.com @localhost -p 53) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done
ip route flush table 1000

while read line || [ -n "$line" ]; do

	[ -z "$line" ] && continue
	[ "${line:0:1}" = "#" ] && continue

	cidr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}')
	if [ ! -z "$cidr" ]; then
		ip route add table 1000 $cidr via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
		log_mess="Add $cidr NET to static route to unblock" 
                echo $log_mess                                                                                                
		logger $log_mess
		continue
	fi

	addr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')
	if [ -z "$addr" ]; then
		addr=$(dig A +short $line @localhost -p 53 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut_local )
	fi
	if [ ! -z "$addr" ]; then
		for ip_host in $addr
		do
			ip route add table 1000 $ip_host via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
			log_mess="Add $ip_host HOST to static route to unblock $line site"
			echo $log_mess
			logger $log_mess
			continue
		done
	fi

done < /opt/etc/unblock-vpn.txt

echo $sep
log="$(ip route show table 1000 | wc -l) ips added to route table 1000"
echo $log
logger $log

log_mess="====================================================="
echo $log_mess  

 

Edited by Zeleza
Link to comment
Share on other sites

48 минут назад, Zeleza сказал:

 



IF_TYPE=OpenVPN


NFACE="$(ndmq -p 'show interface' -x | grep "$IF_TYPE*" -A5 | grep "<link>up" -B1 | head -1 |cut -d">" -f2 | cut -d"<" -f1)"

 

/ # ndmq -p "show interface" -P interface/id | grep OpenVPN
OpenVPN0
/ # 

 

Link to comment
Share on other sites

32 минуты назад, vasek00 сказал:


/ # ndmq -p "show interface" -P interface/id | grep OpenVPN
OpenVPN0
/ # 

 

Благодарю Вас. 
Этот вариант  хорош, когда есть только один тунель. У меня их два, но ТОЛЬКО из них один "поднятый".
Потому приходится городить огород ))

С другой стороны наверное лучше всего оставить один из них и второй удалить (мне был необходим для тестов по скорости )
Тогда все вопросы уйдут и код упроститься. 
Пожалуй так и сделаю.

В unblock_vpn.sh решил использовать оба варианта при поиске IP адресов для сайтов - сначала быстрый с dig и если неудача, то тогда с nslookup.

100-add_unblock_route.sh unblock_vpn.sh

Edited by Zeleza
Link to comment
Share on other sites

  • 2 weeks later...
В 16.02.2021 в 12:26, Zeleza сказал:

Доработанный скрипт ниже

Попробовал, взлетело, но не совсем
Подключение openvpn, одно в системе, интерфейс OpenVPN0/ovpn_br0
Автоматом не создаётся правило ip rule и не отрабатывает скрипт unblock_vpn.sh. Работает, если вручную запустить скрипт /opt/bin/unblock_vpn.sh и вручную добавить правило

ip rule add iif br0 table 1000 priority 1777

Подскажите, что не так?

Link to comment
Share on other sites

21 час назад, yrzorg сказал:

Попробовал, взлетело, но не совсем
Подключение openvpn, одно в системе, интерфейс OpenVPN0/ovpn_br0
Автоматом не создаётся правило ip rule и не отрабатывает скрипт unblock_vpn.sh. Работает, если вручную запустить скрипт /opt/bin/unblock_vpn.sh и вручную добавить правило


ip rule add iif br0 table 1000 priority 1777

Подскажите, что не так?

Доброго дня

Что выдают команды ?

ip rule list 
ip route show route
ip route show table 1000 

 

Link to comment
Share on other sites

В 28.02.2021 в 16:36, Zeleza сказал:

Что выдают команды ?

Спасибо, уже решил, у меня на самом деле оказалось 2 подключения.

Скрытый текст

root@KN-ULTRA2:/opt/etc/ndm/ifstatechanged.d$ (ndmq -p 'show interface' -P interface/id | grep "OpenVPN*" -A5 )
OpenVPN0
Wireguard0

 

Задал статично OpenVPN0 и сделал таблицу не 1000, а 1010

Скрытый текст

#!/bin/sh

IF_TYPE=OpenVPN0
#IF_TYPE=VPNL2TP
#IF_TYPE=IKE
#IF_TYPE=Wireguard

#NFACE="$(ndmq -p 'show interface' -P interface/id | grep "$IF_TYPE*" -A5 )"
NFACE=OpenVPN0
[ "$1" == "hook" ] || exit 0
[ "$change" == "link" ] || exit 0
[ "$id" == "$NFACE" ] || exit 0

case ${id}-${change}-${connected}-${link}-${up} in
        "$NFACE"-link-no-down-down)
                ip route flush table 1010
                ip rule del iif br0 table 1010 priority 1777 2>/dev/null
        ;;
        "$NFACE"-link-yes-up-up)
                ip rule add iif br0 table 1010 priority 1777 2>/dev/null
                /opt/bin/unblock_vpn.sh &
        ;;
esac

exit 0

 

 

Edited by yrzorg
  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Доброй ночи!

Спасибо за скрипты. С год назад все настроил и работало бесперебойно, пришлось сбросить настройки роутера. Попытался настроить на основе последних скриптов от Zeleza от 02/16/2021 01:41 PM

У меня интернет от провайдечра по L2TP Beeline и  Wireguard.

В итоге по 

ip rule list 
0: from all lookup local
10: from all fwmark 0xffffcff lookup main
214: from 192.168.89.27 lookup 76
1777: from all iif br0 lookup 1000
32766: from all lookup main
32767: from all lookup default
ip route show route
default dev ppp0 scope link 
ip route show table 1000 
77.123.139.189 via 192.168.89.27 dev apclii0
104.21.76.219 via 192.168.89.27 dev apclii0
172.67.201.119 via 192.168.89.27 dev apclii0
179.43.141.93 via 192.168.89.27 dev apclii0
185.85.121.13 via 192.168.89.27 dev apclii0
195.82.146.214 via 192.168.89.27 dev apclii0

rutracer не открывается, причем не заглушка а "Веб страница не доступна"

я так понимаю в последней команде должно быть dev wg0?

Что я сделал не так?

Edited by Илья Корчагин
Link to comment
Share on other sites

Доброго дня

Пришлите пожалуйста вывод этих команд


IF_TYPE=Wireguard
NFACE="$(ndmq -p 'show interface' -x | grep "$IF_TYPE*" -A5 | grep "<link>up" -B1 | head -1 |cut -d">" -f2 | cut -d"<" -f1)"
echo "IF_TYPE=$IF_TYPE"
echo "NFACE=$NFACE"

Link to comment
Share on other sites

Вот

~ # IF_TYPE=Wireguard
~ # NFACE="$(ndmq -p 'show interface' -x | grep "$IF_TYPE*" -A5 | grep "<link>up
" -B1 | head -1 |cut -d">" -f2 | cut -d"<" -f1)"
~ # echo "IF_TYPE=$IF_TYPE"
IF_TYPE=Wireguard
~ # echo "NFACE=$NFACE"
NFACE=Wireguard0

 

Edited by Илья Корчагин
Link to comment
Share on other sites

10 minutes ago, Илья Корчагин said:

Вот

Quote

apcli0    Link encap:Ethernet  HWaddr 52:64:2B:00:60:45  
          inet addr:192.168.35.134  Bcast:192.168.35.255  Mask:255.255.255.0
          inet6 addr: fe80::5064:2bff:fe00:6045/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:219 errors:0 dropped:0 overruns:0 frame:0
          TX packets:206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:38305 (37.4 KiB)  TX bytes:14254 (13.9 KiB)

apclii0   Link encap:Ethernet  HWaddr 52:64:2B:94:60:46  
          inet addr:192.168.103.27  Bcast:192.168.103.255  Mask:255.255.255.0
          inet6 addr: fe80::5064:2bff:fe94:6046/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:329641 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1471797 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:75807216 (72.2 MiB)  TX bytes:1089209368 (1.0 GiB)

br0       Link encap:Ethernet  HWaddr 50:64:2B:90:60:45  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5264:2bff:fe90:6045/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1744783 errors:0 dropped:2 overruns:0 frame:0
          TX packets:2105964 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:140965104 (134.4 MiB)  TX bytes:2769663908 (2.5 GiB)

br1       Link encap:Ethernet  HWaddr 52:64:2B:90:60:44  
          inet addr:10.1.30.1  Bcast:10.1.30.255  Mask:255.255.255.0
          inet6 addr: fe80::5064:2bff:fe90:6044/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43317 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:1214260 (1.1 MiB)

eth2      Link encap:Ethernet  HWaddr 50:64:2B:90:60:45  
          inet6 addr: fe80::5264:2bff:fe90:6045/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2025374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1754645 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000 
          RX bytes:2832668104 (2.6 GiB)  TX bytes:217639968 (207.5 MiB)
          Interrupt:18 

eth2.1    Link encap:Ethernet  HWaddr 50:64:2B:90:60:45  
          inet6 addr: fe80::5264:2bff:fe90:6045/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64070 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:6627025 (6.3 MiB)

eth2.3    Link encap:Ethernet  HWaddr 52:64:2B:90:60:44  
          inet6 addr: fe80::5064:2bff:fe90:6044/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43327 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:1821858 (1.7 MiB)

eth2.4    Link encap:Ethernet  HWaddr 88:31:C1:B8:A0:58  
          inet addr:10.138.9.59  Bcast:10.138.15.255  Mask:255.255.248.0
          inet6 addr: fe80::8a31:c1ff:feb8:a058/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2025169 errors:0 dropped:14377 overruns:0 frame:0
          TX packets:1647095 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2795968557 (2.6 GiB)  TX bytes:171738250 (163.7 MiB)

eth3      Link encap:Ethernet  HWaddr 00:9B:FF:FF:FF:FF  
          inet6 addr: fe80::29b:ffff:feff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:18 

ezcfg0    Link encap:Ethernet  HWaddr 82:1C:7B:03:CC:D9  
          inet addr:78.47.125.180  Bcast:78.255.255.255  Mask:255.255.255.255
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:7239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7239 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:695782 (679.4 KiB)  TX bytes:695782 (679.4 KiB)

nwg0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.7.0.2  P-t-P:10.7.0.2  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP  MTU:1324  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:455 errors:0 dropped:24 overruns:0 carrier:0
          collisions:0 txqueuelen:50 
          RX bytes:92 (92.0 B)  TX bytes:66876 (65.3 KiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:37.146.163.31  P-t-P:37.146.160.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1420  Metric:1
          RX packets:1992650 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1639818 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2717840236 (2.5 GiB)  TX bytes:107652142 (102.6 MiB)

ra0       Link encap:Ethernet  HWaddr 50:64:2B:90:60:45  
          inet6 addr: fe80::5264:2bff:fe90:6045/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2329035 errors:1367 dropped:0 overruns:0 frame:0
          TX packets:372158 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1152329038 (1.0 GiB)  TX bytes:32760644 (31.2 MiB)
          Interrupt:19 

ra4.1     Link encap:Ethernet  HWaddr 52:64:2B:C0:60:45  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ra4.2     Link encap:Ethernet  HWaddr 52:64:2B:C0:60:45  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

rai0      Link encap:Ethernet  HWaddr 50:64:2B:90:60:46  
          inet6 addr: fe80::5264:2bff:fe90:6046/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1298603 errors:7 dropped:0 overruns:0 frame:0
          TX packets:2049544 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:213121263 (203.2 MiB)  TX bytes:2761209432 (2.5 GiB)
          Interrupt:39 

rai4.1    Link encap:Ethernet  HWaddr 52:64:2B:93:60:46  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

rai4.2    Link encap:Ethernet  HWaddr 52:64:2B:93:60:46  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

 

Link to comment
Share on other sites

Здравствуйте, 

Смею предположить, что не в ту сторону я Вас направил.
Подскажите, мне мил человек, остальные сайты из Вашего списка - открываются хорошо? 
Только этот сайт - rutracer, у Вас вызывает сложности с его открытием или это единственный сайт в Вашем списке разблокировки? 

В случае, если остальные сайты открываются без проблем, то код ниже должен решить Вашу проблему. 
Решение оказывается было на поверхности, и в предыдущем коде оно было, только по невнимательности пропустил его. Теперь нет необходимости использовать и dig и lookup одновременно, просто ждем в цикле результата от dig, пока его не получим .   

Цитата

function get_ip(){
    local host=$1
    until address="$(dig A +short $host @localhost -p 53 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut_local )" \
        && [ -n "$address" ] > /dev/null 2>&1; do sleep 5; done
    echo "$address"
}

Тогда полный код файла /opt/bin/unblock_vpn.shбудет выглядеть следующим образом

#!/bin/sh

sep="-----------------------------------------------------"

log_mess="================== UNBLOCK SERVICE =================="
echo $log_mess                                                                                

DNS=
IP_ROUTE="$(ip rule list | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')"      
INFACE="$(ifconfig | grep "$IP_ROUTE" -B1 | head -1 |cut -d " " -f1)"

cut_local() {
	grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}
function get_ip(){
    local host=$1
    until address="$(dig A +short $host @localhost -p 53 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut_local )" \
        && [ -n "$address" ] > /dev/null 2>&1; do sleep 5; done
    echo "$address"
}
log_mess="Interface is $INFACE and gateway is $IP_ROUTE"
echo $log_mess
echo $sep

ip route flush table 1000

while read line || [ -n "$line" ]; do

	[ -z "$line" ] && continue
	[ "${line:0:1}" = "#" ] && continue

	cidr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}')
	if [ -n "$cidr" ]; then
		ip route add table 1000 $cidr via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
		log_mess="Add $cidr NET to static route to unblock" 
                echo $log_mess                                                                                                
		logger $log_mess
		continue
	fi

	addr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')
	[[ -z "$address" ]] && address="$(get_ip "$line")"
	if [ -n "$addr" ]; then
		for ip_host in $addr
		do
			ip route add table 1000 $ip_host via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
			log_mess="Add $ip_host HOST to static route to unblock $line site"
			echo $log_mess
			logger $log_mess
			continue
		done
	fi

done < /opt/etc/unblock-vpn.txt

echo $sep
log="$(ip route show table 1000 | wc -l) ips added to route table 1000"
echo $log
logger $log

log_mess="====================================================="
echo $log_mess 
Edited by Zeleza
Link to comment
Share on other sites

пока настроил по старым скриптам. Работает. 

Есть траблы с beeline l2tp - ip получаю но не находит сервер. Пока через wisp в инет выхожу. 

Попробую разобраться с этим и тогда вернусь к вашим последним скриптам.

Спасибо!

Link to comment
Share on other sites

Народ, всех приветствую

Никак не получается зарулить в OpenVPN траффик на некоторые сайты. Использовал любезно предоставленные в этой ветке скрипты. Вводные:

ifconfig

Quote

root@brouter ~# ifconfig
br0       Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet addr:192.168.42.244  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::52ff:20ff:fe27:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1329897 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1461181 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:271587583 (259.0 MiB)  TX bytes:553745164 (528.0 MiB)

br1       Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet addr:192.168.43.244  Bcast:192.168.43.255  Mask:255.255.255.0
          inet6 addr: fe80::84fe:1bff:fefe:2161/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139073 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:3894772 (3.7 MiB)

dummy0    Link encap:Ethernet  HWaddr 3E:10:CE:20:B2:51
          inet6 addr: fe80::3c10:ceff:fe20:b251/64 Scope:Link
          UP BROADCAST RUNNING NOARP PROMISC  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:386025 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:72078091 (68.7 MiB)

eth2      Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet6 addr: fe80::52ff:20ff:fe27:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1212130 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2699396 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000
          RX bytes:137975197 (131.5 MiB)  TX bytes:2724678112 (2.5 GiB)
          Interrupt:18

eth2.1    Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet6 addr: fe80::52ff:20ff:fe27:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:470309 errors:0 dropped:0 overruns:0 frame:0
          TX packets:858657 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:64925979 (61.9 MiB)  TX bytes:235502458 (224.5 MiB)

eth2.2    Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet6 addr: fe80::52ff:20ff:fe27:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139077 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:5842234 (5.5 MiB)

eth3      Link encap:Ethernet  HWaddr 50:FF:20:27:1D:99
          inet6 addr: fe80::52ff:20ff:fe27:1d99/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4053550 errors:0 dropped:44657 overruns:0 frame:0
          TX packets:2632169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:2000
          RX bytes:4232703117 (3.9 GiB)  TX bytes:780573590 (744.4 MiB)
          Interrupt:18

ezcfg0    Link encap:Ethernet  HWaddr 2E:81:F3:19:47:9B
          inet addr:ХХХ.ХХХ.ХХХ.ХХХ  Bcast:78.255.255.255  Mask:255.255.255.255
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:428621 errors:0 dropped:0 overruns:0 frame:0
          TX packets:428621 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:59867882 (57.0 MiB)  TX bytes:59867882 (57.0 MiB)

nwg0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.13.13.21  P-t-P:10.13.13.21  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1324  Metric:1
          RX packets:345 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2859 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:50
          RX bytes:31740 (30.9 KiB)  TX bytes:202020 (197.2 KiB)

ovpn_br0  Link encap:Ethernet  HWaddr 06:CF:D6:FA:8C:62
          inet addr:10.8.0.2  Bcast:10.8.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4cf:d6ff:fefa:8c62/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:16225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9285 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:16238852 (15.4 MiB)  TX bytes:1072276 (1.0 MiB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:ХХХ.ХХХ.ХХХ.ХХХ  P-t-P:ХХХ.ХХХ.ХХХ.ХХХ  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:3970288 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2625763 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:4183231895 (3.8 GiB)  TX bytes:744345914 (709.8 MiB)

ra0       Link encap:Ethernet  HWaddr 50:FF:20:27:1D:98
          inet6 addr: fe80::52ff:20ff:fe27:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1174940 errors:458375 dropped:0 overruns:0 frame:0
          TX packets:745761 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:107007708 (102.0 MiB)  TX bytes:522042662 (497.8 MiB)
          Interrupt:19

ra4.1     Link encap:Ethernet  HWaddr 52:FF:20:47:1D:98
          inet6 addr: fe80::50ff:20ff:fe47:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:250158 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:32592126 (31.0 MiB)

ra4.2     Link encap:Ethernet  HWaddr 52:FF:20:47:1D:98
          inet6 addr: fe80::50ff:20ff:fe47:1d98/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139071 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:5841514 (5.5 MiB)

rai0      Link encap:Ethernet  HWaddr 50:FF:20:27:1D:9A
          inet6 addr: fe80::52ff:20ff:fe27:1d9a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1228958 errors:97710 dropped:0 overruns:0 frame:0
          TX packets:1181434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:613878119 (585.4 MiB)  TX bytes:1136269993 (1.0 GiB)
          Interrupt:39

rai4.1    Link encap:Ethernet  HWaddr 52:FF:20:47:1D:9A
          inet6 addr: fe80::50ff:20ff:fe47:1d9a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:250160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:32592346 (31.0 MiB)

rai4.2    Link encap:Ethernet  HWaddr 52:FF:20:47:1D:9A
          inet6 addr: fe80::50ff:20ff:fe47:1d9a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139072 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:5841604 (5.5 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6 addr: fe80::13a9:c71a:95a0:f97a/64 Scope:Link
          UP POINTOPOINT RUNNING  MTU:1500  Metric:1
          RX packets:16225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9365 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:16238852 (15.4 MiB)  TX bytes:1075796 (1.0 MiB)

cat /opt/bin/unblock_vpn.sh

Quote

 cat /opt/bin/unblock_vpn.sh
#!/bin/sh

sep="-----------------------------------------------------"

log_mess="================== UNBLOCK SERVICE =================="
echo $log_mess

DNS=1.1.1.1
IP_ROUTE=10.8.0.1
INFACE=ovpn_br0

cut_local() {
        grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}
function get_ip(){
    local host=$1
    until address="$(dig A +short $host @localhost -p 53 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut_local )" \
        && [ -n "$address" ] > /dev/null 2>&1; do sleep 5; done
    echo "$address"
}
log_mess="Interface is $INFACE and gateway is $IP_ROUTE"
echo $log_mess
echo $sep

ip route flush table 1000

while read line || [ -n "$line" ]; do

        [ -z "$line" ] && continue
        [ "${line:0:1}" = "#" ] && continue

        cidr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}')
        if [ -n "$cidr" ]; then
                ip route add table 1000 $cidr via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
                log_mess="Add $cidr NET to static route to unblock"
                echo $log_mess
                logger $log_mess
                continue
        fi

        addr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')
        [[ -z "$address" ]] && address="$(get_ip "$line")"
        if [ -n "$addr" ]; then
                for ip_host in $addr
                do
                        ip route add table 1000 $ip_host via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
                        log_mess="Add $ip_host HOST to static route to unblock $line site"
                        echo $log_mess
                        logger $log_mess
                        continue
                done
        fi

done < /opt/etc/unblock-vpn.txt

echo $sep
log="$(ip route show table 1000 | wc -l) ips added to route table 1000"
echo $log
logger $log

log_mess="====================================================="
echo $log_mess
 

cat /opt/etc/ndm/ifstatechanged.d/100-add_unblock_route.sh

Quote

#!/bin/sh

IF_TYPE=OpenVPN0
#IF_TYPE=VPNL2TP
#IF_TYPE=IKE
#IF_TYPE=Wireguard

NFACE=ovpn_br0

[ "$1" == "hook" ] || exit 0
[ "$change" == "link" ] || exit 0
[ "$id" == "$NFACE" ] || exit 0

case ${id}-${change}-${connected}-${link}-${up} in
        "$NFACE"-link-no-down-down)
                ip route flush table 1000
                ip rule del iif br0 table 1000 priority 1777 2>/dev/null
        ;;
        "$NFACE"-link-yes-up-up)
                ip rule add iif br0 table 1000 priority 1777 2>/dev/null
                /opt/bin/unblock_vpn.sh &
        ;;
esac

exit 0

В файл /opt/etc/unblock-vpn.txt для теста положил одну запись 

Quote

root@brouter ~# cat /opt/etc/unblock-vpn.txt
rutracker.org⏎

При запуске unblock_vpn.sh ничего не происходит

Quote

 /opt/bin/unblock_vpn.sh
================== UNBLOCK SERVICE ==================
Interface is ovpn_br0 and gateway is 10.8.0.1
-----------------------------------------------------
-----------------------------------------------------
0 ips added to route table 1000
=====================================================
 

Помогите, пожалуйста, понять что именно не так.

 

P.S. Пробовал оставлять переменные NFACE и INFACE в неизменном виде - тоже не работает, возможно из-за того, что VPN-соединений больше одного. Все остальные VPN зарулены через веб-интерфейс, просто добавлены нужные статические маршруты. 

Link to comment
Share on other sites

6 часов назад, strannik сказал:

NFACE=ovpn_br0

у меня здесь NFACE=OpenVPN0, плюс я ещё в свойствах подключения openvpn указал "использовать для выхода в интернет"

Link to comment
Share on other sites

Ошибка , скорее всего, кроется здесь:

ovpn_br0  Link encap:Ethernet  HWaddr 06:CF:D6:FA:8C:62
          inet addr:10.8.0.2  Bcast:10.8.0.255  Mask:255.255.255.0
IP_ROUTE=10.8.0.1
INFACE=ovpn_br0

ifconfig показывает другой getway, отличный от указанного Вами. 
Необходимо прописать IP_ROUTE=10.8.0.2, вместо IP_ROUTE=10.8.0.1

Но это лишь предположение, возможно ошибка кроется еще в чем то.

Link to comment
Share on other sites

Приветствую всех. 
Пробую настроить обход через Wireguard, скрипт работает, но соединение всё равно идёт через провайдера.

Конфигурация

less /opt/etc/ndm/ifstatechanged.d/100-add_antizapret_route.sh

Скрытый текст

#!/bin/sh

#IF_TYPE=OpenVPN
#IF_TYPE=VPNL2TP
#IF_TYPE=IKE
IF_TYPE=Wireguard1

NFACE="$(ndmq -p 'show interface' -x | grep "$IF_TYPE*" -A5 | grep "<link>up" -B1 | head -1 |cut -d">" -f2 | cut -d"<" -f1)"

[ "$1" == "hook" ] || exit 0
[ "$change" == "link" ] || exit 0
[ "$id" == "$NFACE" ] || exit 0

case ${id}-${change}-${connected}-${link}-${up} in
        "$NFACE"-link-no-down-down)
                ip route flush table 1000
                ip rule del iif br0 table 1000 priority 1777 2>/dev/null
        ;;
        "$NFACE"-link-yes-up-up)
                ip rule add iif br0 table 1000 priority 1777 2>/dev/null
                /opt/bin/unblock_vpn.sh &
        ;;
esac

exit 0

less /opt/bin/unblock_vpn.sh

Скрытый текст

#!/bin/sh

sep="-----------------------------------------------------"

log_mess="================== UNBLOCK SERVICE =================="
echo $log_mess

DNS=192.168.1.3
IP_ROUTE="$(ip rule list | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')"
INFACE="$(ifconfig | grep "$IP_ROUTE" -B1 | head -1 |cut -d " " -f1)"

cut_local() {
        grep -vE 'localhost|^0\.|^127\.|^10\.|^172\.16\.|^192\.168\.|^::|^fc..:|^fd..:|^fe..:'
}

log_mess="Interface is $INFACE and gateway is $IP_ROUTE"
echo $log_mess
echo $sep

until ADDRS=$(dig +short google.com @localhost -p 53) && [ -n "$ADDRS" ] > /dev/null 2>&1; do sleep 5; done
ip route flush table 1000

while read line || [ -n "$line" ]; do

        [ -z "$line" ] && continue
        [ "${line:0:1}" = "#" ] && continue

        cidr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}')
        if [ ! -z "$cidr" ]; then
                ip route add table 1000 $cidr via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
                log_mess="Add $cidr NET to static route to unblock"
                echo $log_mess
                logger $log_mess
                continue
        fi

        addr=$(echo $line | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}')
        if [ -z "$addr" ]; then
                addr=$(dig A +short $line @localhost -p 53 | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | cut_local )
        fi
        if [ ! -z "$addr" ]; then
                for ip_host in $addr
                do
                        ip route add table 1000 $ip_host via "$IP_ROUTE" dev "$INFACE" 2>/dev/null
                        log_mess="Add $ip_host HOST to static route to unblock $line site"
                        echo $log_mess
                        logger $log_mess
                        continue
                done
        fi

done < /opt/etc/unblock-vpn.txt

echo $sep
log="$(ip route show table 1000 | wc -l) ips added to route table 1000"
echo $log
logger $log

log_mess="====================================================="
echo $log_mess
 

less /opt/etc/unblock-vpn.txt

Скрытый текст

2ip.ru
rutracker.org
myip.ru
anilibria.tv
twitter.com
t.co
 

ifconfig

Скрытый текст

br0       Link encap:Ethernet  HWaddr 
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::52ff:20ff:fe16:cf6a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:37781079 errors:0 dropped:0 overruns:0 frame:0
          TX packets:34455612 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11949017368 (11.1 GiB)  TX bytes:21390623335 (19.9 GiB)


nwg1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.66.66.2  P-t-P:10.66.66.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1324  Metric:1
          RX packets:369306 errors:0 dropped:3 overruns:0 frame:0
          TX packets:310343 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:50
          RX bytes:126557760 (120.6 MiB)  TX bytes:55201680 (52.6 MiB)

Если вручную запустить скрипт то он отрабатывает

/opt/bin/unblock_vpn.sh

Скрытый текст

================== UNBLOCK SERVICE ==================
Interface is nwg1 and gateway is 10.66.66.2
-----------------------------------------------------
Add 195.201.201.32 HOST to static route to unblock 2ip.ru site
Add 195.82.146.214 HOST to static route to unblock rutracker.org site
Add 178.62.9.171 HOST to static route to unblock myip.ru site
Add 104.27.194.88 HOST to static route to unblock anilibria.tv site
Add 104.27.195.88 HOST to static route to unblock anilibria.tv site
Add 104.244.42.65 HOST to static route to unblock twitter.com site
Add 104.244.42.129 HOST to static route to unblock twitter.com site
Add 104.244.42.69 HOST to static route to unblock t.co site
Add 104.244.42.197 HOST to static route to unblock t.co site
Add 104.244.42.5 HOST to static route to unblock t.co site
Add 104.244.42.133 HOST to static route to unblock t.co site
-----------------------------------------------------
11 ips added to route table 1000
=====================================================
 

Но traceroute всё равно идёт через провайдера.
Что я настроил не так?

Link to comment
Share on other sites

Здравствуйте, 

Возможно ошибка кроется здесь: IF_TYPE=Wireguard1 (файл  /opt/etc/ndm/ifstatechanged.d/100-add_antizapret_route.sh), правильно будет указывать просто тип туннеля без его идентификатора (номера). 
Другими словами необходимо написать  IF_TYPE=Wireguard, вместо  IF_TYPE=Wireguard1

Edited by Zeleza
Link to comment
Share on other sites

5 часов назад, Zeleza сказал:

Другими словами необходимо написать  IF_TYPE=Wireguard, вместо  IF_TYPE=Wireguard1

Поправил, указав просто Wireguard, скрипт отрабатывает но traceroute всё равно до указанных сайтов идёт через провайдера, а не VPN. В роутах видны только те адреса что я вручную в WEBUI кинетика указал

Скрытый текст


~ # /opt/bin/unblock_vpn.sh
================== UNBLOCK SERVICE ==================
Interface is nwg1 and gateway is 10.66.66.2
-----------------------------------------------------
Add 195.201.201.32 HOST to static route to unblock 2ip.ru site
Add 195.82.146.214 HOST to static route to unblock rutracker.org site
Add 178.62.9.171 HOST to static route to unblock myip.ru site
Add 104.27.194.88 HOST to static route to unblock anilibria.tv site
Add 104.27.195.88 HOST to static route to unblock anilibria.tv site
Add 104.244.42.1 HOST to static route to unblock twitter.com site
Add 104.244.42.193 HOST to static route to unblock twitter.com site
Add 104.244.42.197 HOST to static route to unblock t.co site
Add 104.244.42.69 HOST to static route to unblock t.co site
Add 104.244.42.5 HOST to static route to unblock t.co site
Add 104.244.42.133 HOST to static route to unblock t.co site
Add 192.229.233.50 HOST to static route to unblock pbs.twimg.com site
-----------------------------------------------------
12 ips added to route table 1000
=====================================================
~ # ip route show
default via %Провайдер% dev eth3
3.125.114.117 via 10.66.66.2 dev nwg1
85.21.192.5 via %Провайдер% dev eth3
%пров% dev eth3 scope link  src %мой%
104.27.195.88 via 10.66.66.2 dev nwg1
104.244.42.5 via 10.66.66.2 dev nwg1
104.244.42.65 via 10.66.66.2 dev nwg1
104.244.42.133 via 10.66.66.2 dev nwg1
104.244.42.193 via 10.66.66.2 dev nwg1
104.244.42.197 via 10.66.66.2 dev nwg1
172.16.82.0/24 dev nwg0 scope link  src 172.16.82.1
185.70.41.35 via 10.66.66.2 dev nwg1
185.70.41.130 via 10.66.66.2 dev nwg1
192.168.1.0/24 dev br0 scope link  src 192.168.1.1
192.168.8.0/24 dev br1 scope link  src 192.168.8.1
192.229.233.50 via 10.66.66.2 dev nwg1
195.82.146.214 via 10.66.66.2 dev nwg1
195.201.201.32 via 10.66.66.2 dev nwg1
213.234.192.7 via %Провайдер% dev eth3
 

 

Link to comment
Share on other sites

Здравствуйте, 
Подскажите пожалуйста, указанные Вами сайты открываются ли нет? 

Судя по логу - у Вас все работает корректно.

Link to comment
Share on other sites

18 минут назад, kaguyashaa сказал:

Поправил, указав просто Wireguard, скрипт отрабатывает но traceroute всё равно до указанных сайтов идёт через провайдера, а не VPN. В роутах видны только те адреса что я вручную в WEBUI кинетика указал

  Скрыть содержимое


~ # /opt/bin/unblock_vpn.sh
================== UNBLOCK SERVICE ==================
Interface is nwg1 and gateway is 10.66.66.2
-----------------------------------------------------
Add 195.201.201.32 HOST to static route to unblock 2ip.ru site
Add 195.82.146.214 HOST to static route to unblock rutracker.org site
Add 178.62.9.171 HOST to static route to unblock myip.ru site
Add 104.27.194.88 HOST to static route to unblock anilibria.tv site
Add 104.27.195.88 HOST to static route to unblock anilibria.tv site
Add 104.244.42.1 HOST to static route to unblock twitter.com site
Add 104.244.42.193 HOST to static route to unblock twitter.com site
Add 104.244.42.197 HOST to static route to unblock t.co site
Add 104.244.42.69 HOST to static route to unblock t.co site
Add 104.244.42.5 HOST to static route to unblock t.co site
Add 104.244.42.133 HOST to static route to unblock t.co site
Add 192.229.233.50 HOST to static route to unblock pbs.twimg.com site
-----------------------------------------------------
12 ips added to route table 1000
=====================================================
~ # ip route show
default via %Провайдер% dev eth3
3.125.114.117 via 10.66.66.2 dev nwg1
85.21.192.5 via %Провайдер% dev eth3
%пров% dev eth3 scope link  src %мой%
104.27.195.88 via 10.66.66.2 dev nwg1
104.244.42.5 via 10.66.66.2 dev nwg1
104.244.42.65 via 10.66.66.2 dev nwg1
104.244.42.133 via 10.66.66.2 dev nwg1
104.244.42.193 via 10.66.66.2 dev nwg1
104.244.42.197 via 10.66.66.2 dev nwg1
172.16.82.0/24 dev nwg0 scope link  src 172.16.82.1
185.70.41.35 via 10.66.66.2 dev nwg1
185.70.41.130 via 10.66.66.2 dev nwg1
192.168.1.0/24 dev br0 scope link  src 192.168.1.1
192.168.8.0/24 dev br1 scope link  src 192.168.8.1
192.229.233.50 via 10.66.66.2 dev nwg1
195.82.146.214 via 10.66.66.2 dev nwg1
195.201.201.32 via 10.66.66.2 dev nwg1
213.234.192.7 via %Провайдер% dev eth3
 

 

Вижу отличия по скриптам и результату, на комманде

ip route show вы должны были получить только базовые маршруты

А на команде ip route show table 1000 - добавленные в таблицу 1000.

А у Вас все в кучу.

Link to comment
Share on other sites

14 минуты назад, Zeleza сказал:

Здравствуйте, 
Подскажите пожалуйста, указанные Вами сайты открываются ли нет? 

Судя по логу - у Вас все работает корректно.

Сайты не открываются. 

В таблице 1000 адреса указаны

 

Скрытый текст

Скрытый текст
ip route show table 1000
93.184.220.70 via 10.66.66.2 dev nwg1
104.27.194.88 via 10.66.66.2 dev nwg1
104.27.195.88 via 10.66.66.2 dev nwg1
104.244.42.5 via 10.66.66.2 dev nwg1
104.244.42.69 via 10.66.66.2 dev nwg1
104.244.42.129 via 10.66.66.2 dev nwg1
104.244.42.133 via 10.66.66.2 dev nwg1
104.244.42.193 via 10.66.66.2 dev nwg1
104.244.42.197 via 10.66.66.2 dev nwg1
178.62.9.171 via 10.66.66.2 dev nwg1
195.82.146.214 via 10.66.66.2 dev nwg1
195.201.201.32 via 10.66.66.2 dev nwg1

 

Вот пример traceroute до myip.ru который я в файле /opt/etc/unblock-vpn.txt указал

Скрытый текст

traceroute to myip.ru (178.62.9.171), 30 hops max, 38 byte packets
 1  78.107.181.138 (78.107.181.138)  3.348 ms  3.609 ms  3.678 ms
 2  *  *  *
 3  85.21.224.121 (85.21.224.121)  1.934 ms  hq-crs-be5.msk.corbina.net (195.14.62.160)  44.026 ms  45.538 ms
 4  m9-crs-be14.msk.corbina.net (195.14.62.159)  41.591 ms  42.984 ms  85.21.224.86 (85.21.224.86)  44.944 ms
 5  ams-bb-ae2.corbina.net (78.107.184.102)  44.439 ms  44.587 ms  noginsk-rs1-fa0-1.corbina.net (78.107.184.86)  42.212 ms
 6  mx01.Amsterdam.gldn.net (62.105.135.92)  44.007 ms  77.398 ms  44.280 ms
 7  et-0-0-5.ams3-edge2.digitalocean.com (80.249.213.143)  44.579 ms  44.437 ms  42.321 ms
 8  138.197.244.88 (138.197.244.88)  47.748 ms  52.227 ms  49.577 ms
 9  *  *  *
10  *  *  *
11  *  *  *
12  myip.ru (178.62.9.171)  54.878 ms  54.845 ms  51.259 ms

 

Link to comment
Share on other sites

23 минуты назад, avn сказал:

Покажи ip rule

traceroute 10.66.66.2

traceroute 10.66.66.1

 

?

Скрытый текст

 ip rule
0:      from all lookup local
10:     from all fwmark 0xffffcff lookup main
164:    from all fwmark 0xffffd00 lookup 42
165:    from all fwmark 0xffffd00 lookup unspec blackhole
166:    from all fwmark 0xffffd01 lookup 43
167:    from all fwmark 0xffffd01 lookup unspec blackhole
221:    from 10.66.66.2 lookup 83
32766:  from all lookup main
32767:  from all lookup default
~ # traceroute 10.66.66.2
traceroute to 10.66.66.2 (10.66.66.2), 30 hops max, 38 byte packets
 1  10.66.66.2 (10.66.66.2)  0.065 ms  0.120 ms  0.031 ms
~ # traceroute 10.66.66.1
traceroute to 10.66.66.1 (10.66.66.1), 30 hops max, 38 byte packets
 1  78.107.181.138 (78.107.181.138)  1.577 ms  2.927 ms  3.044 ms
 2  *  *  *
 3  85.21.224.121 (85.21.224.121)  3.851 ms  85.21.224.117 (85.21.224.117)  1.831 ms  hq-crs-be5.msk.corbina.net (195.14.62.160)  3.691 ms
 4  ko-crs-be13.msk.corbina.net (195.14.62.157)  3.565 ms  *  85.21.224.86 (85.21.224.86)  5.556 ms
 5  plehan9-bb-be1.corbina.net (78.107.184.247)  5.690 ms  85.21.224.238 (85.21.224.238)  4.714 ms  plehan9-bb-be1.corbina.net (78.107.184.247)  3.916 ms
 6  *  mo-crs-be4.corbina.net (78.107.184.23)  3.156 ms  3.212 ms
 7  *  *  *
 8  *  *  *
 9  *  *  *
10  *  *  *
11  *  *  *
12  *  *  *
13  *  *  *
14  *  *  *
15  *  *  *
16  *  *  *
17  *  *  *
18  *  *  *
19  *^C

На 10.66.66.1 пинг идёт в сеть, хотя такого быть не должно же. Частный диапазон же.

Edited by kaguyashaa
Link to comment
Share on other sites

2 минуты назад, kaguyashaa сказал:
  Скрыть содержимое

 ip rule
0:      from all lookup local
10:     from all fwmark 0xffffcff lookup main
164:    from all fwmark 0xffffd00 lookup 42
165:    from all fwmark 0xffffd00 lookup unspec blackhole
166:    from all fwmark 0xffffd01 lookup 43
167:    from all fwmark 0xffffd01 lookup unspec blackhole
221:    from 10.66.66.2 lookup 83
32766:  from all lookup main
32767:  from all lookup default
~ # traceroute 10.66.66.2
traceroute to 10.66.66.2 (10.66.66.2), 30 hops max, 38 byte packets
 1  10.66.66.2 (10.66.66.2)  0.065 ms  0.120 ms  0.031 ms
~ # traceroute 10.66.66.1
traceroute to 10.66.66.1 (10.66.66.1), 30 hops max, 38 byte packets
 1  78.107.181.138 (78.107.181.138)  1.577 ms  2.927 ms  3.044 ms
 2  *  *  *
 3  85.21.224.121 (85.21.224.121)  3.851 ms  85.21.224.117 (85.21.224.117)  1.831 ms  hq-crs-be5.msk.corbina.net (195.14.62.160)  3.691 ms
 4  ko-crs-be13.msk.corbina.net (195.14.62.157)  3.565 ms  *  85.21.224.86 (85.21.224.86)  5.556 ms
 5  plehan9-bb-be1.corbina.net (78.107.184.247)  5.690 ms  85.21.224.238 (85.21.224.238)  4.714 ms  plehan9-bb-be1.corbina.net (78.107.184.247)  3.916 ms
 6  *  mo-crs-be4.corbina.net (78.107.184.23)  3.156 ms  3.212 ms
 7  *  *  *
 8  *  *  *
 9  *  *  *
10  *  *  *
11  *  *  *
12  *  *  *
13  *  *  *
14  *  *  *
15  *  *  *
16  *  *  *
17  *  *  *
18  *  *  *
19  *^C

На 10.66.66.1 пинг идёт в сеть, хотя такого быть не должно же. Частный диапазон же.

Выполни комманду, у тебя она не прописалась скриптом. И все должно заработать

 

ip rule add iif br0 table 1000 priority 1777

Link to comment
Share on other sites

16 минут назад, avn сказал:

ip rule add iif br0 table 1000 priority 1777

Не хотела прописываться данная команда, выдовало 

Цитата

ip: RTNETLINK answers: File exists

Но после ребута прописалось.

Link to comment
Share on other sites

3 часа назад, kaguyashaa сказал:

Не хотела прописываться данная команда, выдовало 

Но после ребута прописалось.

В Вашем выводе ее не было. И после того, как прописалось - заработало?

Link to comment
Share on other sites

17 минут назад, avn сказал:

В Вашем выводе ее не было. И после того, как прописалось - заработало?

На половину, то что внёс первый раз нормально всё, а последующие нет. myip.ru через ВПН, а protonmail.com/mail.protonmail.com нет, хотя в крон добавил линк.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...