Jump to content

Recommended Posts

Posted

Приветствую,

Задача - настроить на роутере Forti VPN клиент и пробросить данную сеть всем подключающимся к данному роутеру. openfortivpn установил, конфигурационный фаил настроил, при запуске openfortivpn он успешно подключается --- комп который мне нужен в данной сети пингуеться и резолвится по имени в терминале или на веб морде "Проверка сетевого соединения", но с ПК подключенного к данному роутеру пинг не проходит... помогите пожалуйста победить маршрутизацию... и за одно ткните пожалуйста носом как правильно засунуть в "автозагрузку" openfortivpn 

Posted

после запуска openfortivpn ручками:

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

INFO:   Negotiation complete.
DEBUG:  pppd ---> gateway (6 bytes)
local  IP address 10.1.200.6
remote IP address 169.254.2.1
DEBUG:  Got Address: 10.1.200.6
DEBUG:  Interface Name: ppp1
DEBUG:  Interface Addr: 10.1.200.6
INFO:   Interface ppp1 is UP.
INFO:   Setting new routes...
DEBUG:  ip route show to 0.0.0.0/0.0.0.0 dev !ppp1
DEBUG:  ip route show to 80.188.222.34/255.255.255.255 dev ppp1
DEBUG:  Route not found.
DEBUG:  ip route show to 80.188.222.34/255.255.255.255 dev !ppp1
DEBUG:  Setting route to vpn server...
DEBUG:  ip route show to 80.188.222.34/255.255.255.255 via 192.168.3.1 dev apcli0
DEBUG:  ip route add to 80.188.222.34/255.255.255.255 via 192.168.3.1 dev apcli0
DEBUG:  ip route add to 10.10.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.1.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.4.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.3.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 192.168.96.0/255.255.224.0 dev ppp1
DEBUG:  ip route add to 10.5.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.2.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.8.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.12.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.11.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.9.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 172.25.20.0/255.255.255.0 dev ppp1
DEBUG:  ip route add to 192.168.168.0/255.255.255.0 dev ppp1
DEBUG:  ip route add to 10.6.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 10.13.0.0/255.255.0.0 dev ppp1
DEBUG:  ip route add to 172.31.0.0/255.255.255.252 dev ppp1
INFO:   Adding VPN nameservers...
DEBUG:  Attempting to modify /etc/resolv.conf directly.
DEBUG:  Adding "nameserver 10.1.1.20", to /etc/resolv.conf.
DEBUG:  Adding "nameserver 10.1.1.21", to /etc/resolv.conf.
INFO:   Tunnel is up and running.

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

~ # ip route
default via 192.168.3.1 dev br0
10.1.0.0/16 dev ppp0 scope link
10.2.0.0/16 dev ppp0 scope link
10.3.0.0/16 dev ppp0 scope link
10.4.0.0/16 dev ppp0 scope link
10.5.0.0/16 dev ppp0 scope link
10.6.0.0/16 dev ppp0 scope link
10.8.0.0/16 dev ppp0 scope link
10.9.0.0/16 dev ppp0 scope link
10.10.0.0/16 dev ppp0 scope link
10.11.0.0/16 dev ppp0 scope link
10.12.0.0/16 dev ppp0 scope link
10.13.0.0/16 dev ppp0 scope link
80.188.222.34 via 192.168.3.1 dev br0
169.254.2.1 dev ppp0 scope link  src 10.1.200.18
172.25.20.0/24 dev ppp0 scope link
172.31.0.0/30 dev ppp0 scope link
192.168.3.0/24 dev br0 scope link  src 192.168.3.100
192.168.96.0/19 dev ppp0 scope link
192.168.168.0/24 dev ppp0 scope link

 

Posted

Скрипт для автозагрузки - /opt/etc/init.d/S11openfortivpn

#!/bin/sh

ENABLED=yes
PROCS=openfortivpn
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Скрипт для форвардинга - /opt/etc/ndm/netfilter.d/111-openfortivpn.sh

#!/bin/sh

INTERFACE="work"

[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0
[ -z "$(iptables -S | grep $INTERFACE)" ] || exit 0

iptables -w -I FORWARD -s 192.168.XX.YY -i br0 -o $INTERFACE -j ACCEPT

exit 0

Здесь я разрешаю соединения с конкретного компьютера домашнего сегмента через интерфейс work. Чтобы имя интерфейса было именно таким, в конфиг openfortivpn добавлен параметр pppd-ifname = work

  • Upvote 1
  • 2 weeks later...
Posted
В 01.02.2022 в 03:19, MercuryV сказал:
#!/bin/sh

Спасибо Вам огромное! в журнале увидел нехорошее сообщение - 

pppd[620]
kernel does not support PPP filtering
 
и если не сложно - подскажите пожалуйста, можно ли все это провернуть - если роутер настроен как Точка доступа/Ретранслятор и сделать так что бы все без исключения подключенные к нему клиенты по WiFi шли по VPN?
Posted
В 01.02.2022 в 03:19, MercuryV сказал:

Скрипт для автозагрузки - /opt/etc/init.d/S11openfortivpn

#!/bin/sh

ENABLED=yes
PROCS=openfortivpn
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Скрипт для форвардинга - /opt/etc/ndm/netfilter.d/111-openfortivpn.sh

#!/bin/sh

INTERFACE="work"

[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0
[ -z "$(iptables -S | grep $INTERFACE)" ] || exit 0

iptables -w -I FORWARD -s 192.168.XX.YY -i br0 -o $INTERFACE -j ACCEPT

exit 0

Здесь я разрешаю соединения с конкретного компьютера домашнего сегмента через интерфейс work. Чтобы имя интерфейса было именно таким, в конфиг openfortivpn добавлен параметр pppd-ifname = work

Перенастроил я на режим роутера, прописал IP, выставил статический тот же для клиента, но доступа все равно нет... с веб морды роутера ресурсы на VPN пингуються успешно.....

Posted
В 10.02.2022 в 19:31, NikolayTLM сказал:

в журнале увидел нехорошее сообщение

можно не обращать внимания

В 10.02.2022 в 19:31, NikolayTLM сказал:

подскажите пожалуйста, можно ли все это провернуть - если роутер настроен как Точка доступа/Ретранслятор

не подскажу

В 10.02.2022 в 21:07, NikolayTLM сказал:

но доступа все равно нет

проверьте, что установлен пакет iptables

проверьте, что в скрипте указано верное название сетевого интерфейса

выполните команду iptables вручную в консоли (прошивка может не сразу дёрнуть скрипт)

Posted (edited)
37 минут назад, MercuryV сказал:

можно не обращать внимания

не подскажу

проверьте, что установлен пакет iptables

проверьте, что в скрипте указано верное название сетевого интерфейса

выполните команду iptables вручную в консоли (прошивка может не сразу дёрнуть скрипт)

iptables установлен

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

/ # iptables
iptables v1.4.21: no command specified
Try `iptables -h' or 'iptables --help' for more information.

с именами интерфейсов все в порядке

так же сейчас подключение по VPN скидывается по прошествии какого то времени 

Скрытый текст
Фев 11 14:02:50
 
pppd[659]
Hangup (SIGHUP)
Фев 11 14:02:50
 
pppd[659]
Modem hangup
Фев 11 14:02:50
 
pppd[659]
Connect time 51.0 minutes.
Фев 11 14:02:50
 
pppd[659]
Sent 6250 bytes, received 5330 bytes.
Фев 11 14:02:50
 
pppd[659]
Connection terminated.
Фев 11 14:02:50
 
pppd[659]
Exit.

можно как ни будь его зафиксировать на постоянку, или сделать скрипт автоподнятия при разрыве?

 

З.Ы. так же после крайнего обновления ПО роутера - root/keenetic перестал работать по SSH, захожу под админской учеткой, потом exec sh

/opt/etc/init.d/S11openfortivpn без изменений из вашего поста
параметр pppd-ifname = work -- добавлен в конфиг openfortivpn
/opt/etc/ndm/netfilter.d/111-openfortivpn.sh выглядит так:

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

#!/bin/sh

INTERFACE="work"

[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0
[ -z "$(iptables -S | grep $INTERFACE)" ] || exit 0

iptables -w -I FORWARD -s 192.168.1.220 -i br0 -o $INTERFACE -j ACCEPT
iptables -w -I FORWARD -s 192.168.1.221 -i br0 -o $INTERFACE -j ACCEPT

exit 0

 

Edited by NikolayTLM
Posted

Пока vpn интерфейс не упал, если выполнить 

iptables -w -I FORWARD -s 192.168.1.220 -i br0 -o work -j ACCEPT

доступ появится с .220 ?

31 минуту назад, NikolayTLM сказал:

захожу под админской учеткой, потом exec sh

зря, лучше почините окружение

 

33 минуты назад, NikolayTLM сказал:

зафиксировать на постоянку

теоретически можно добавить в конфиг параметр persistent = ... но как именно оно будет работать зависит в том числе и от настроек сервера, так что только пробовать

35 минут назад, NikolayTLM сказал:

скрипт автоподнятия при разрыве

именно при разрыве сложно, так как интерфейс не управляется прошивкой, никакого события с хуком не возникнет

можно при помощи cron выполнять стартовый скрипт с нужной частотой, но это костыль

я полную автоматику на этот случай себе делать не стал, отваливается редко.

Posted
57 минут назад, MercuryV сказал:

доступ появится с .220 ?

нет, может я еще что то забыл? какие команды может запустить?

57 минут назад, MercuryV сказал:

зря, лучше почините окружение

переустановить OPKG?

 

58 минут назад, MercuryV сказал:

теоретически можно добавить в конфиг параметр persistent =

в конфиг openfortivpn?

 

58 минут назад, MercuryV сказал:

но это костыль

согласен, это люто не верно.

Posted (edited)

@MercuryV

немного смущает ответ системы на # iptables -L FORWARD

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

/opt/etc/ndm/netfilter.d # iptables -L FORWARD
Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  192.168.1.221        anywhere
ACCEPT     all  --  192.168.1.220        anywhere
_NDM_MULTICAST_INPUT  udp  --  anywhere             base-address.mcast.net/4
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
_NDM_ACL_IN  all  --  anywhere             anywhere
_NDM_ACL_OUT  all  --  anywhere             anywhere
_NDM_IPSEC_FORWARD  all  --  anywhere             anywhere
_NDM_VPN_FORWARD  all  --  anywhere             anywhere
_NDM_FORWARD  all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT
_NDM_SL_FORWARD  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere

anywhere - так и должно быть?

ну и судя по всему что то происходит, но не совсем так как надо, ибо доступ в сеть "интернет" пропал с требуемого IP для VPN, но и доступа к ресурсам VPN то же нет((((

возможно я не правильно настроил config для openfortivpn?

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

### configuration file for openfortivpn, see man openfortivpn(1) ###
pppd-ifname = work
#persistent = 300
set-dns = 1
#use-resolvconf = 1
#set-routes = 1
#half-internet-routes = 0
#pppd-use-peerdns = 1
host = xxxx
port = xxxx
username = xxxx
password = xxxx
trusted-cert = xxxx

 

Edited by NikolayTLM
Posted (edited)
16 минут назад, MercuryV сказал:

я смотрю так

# iptables -S | grep work
-A FORWARD -s 192.168.1.221/32 -i br0 -o work -j ACCEPT
-A FORWARD -s 192.168.1.220/32 -i br0 -o work -j ACCEPT

 

с виду все ок, но доступа так и нет у клиента с нужным IP, как буд то не резолвит система IP адреса по доменному имени машины.

с веб интерфейса роутера делаю пинг:

Скрытый текст
sending ICMP ECHO request to nizndt001.xxx.local...
PING nizndt001.xxx.local (10.2.4.30) 56 (84) bytes of data.
84 bytes from nizndt001.xxx.local (10.2.4.30): icmp_req=1, ttl=125, time=117.57 ms.
84 bytes from nizndt001.xxx.local (10.2.4.30): icmp_req=2, ttl=125, time=118.56 ms.
84 bytes from nizndt001.xxx.local (10.2.4.30): icmp_req=3, ttl=125, time=118.83 ms.
84 bytes from nizndt001.xxx.local (10.2.4.30): icmp_req=4, ttl=125, time=118.75 ms.
84 bytes from nizndt001.xxx.local (10.2.4.30): icmp_req=5, ttl=125, time=118.76 ms.
 
--- nizndt001.drylock.local ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss,
0 duplicate(s), time 4120.94 ms.
Round-trip min/avg/max = 117.57/118.49/118.83 ms.

с клиента выдает- Ping request could not find host nizndt001.xxx.local. Please check the name and try again.

Edited by NikolayTLM
Posted (edited)
1 час назад, NikolayTLM сказал:

с клиента выдает- Ping request could not find host nizndt001.xxx.local. Please check the name and try again.

Проверьте по IP адресу, а не по имени. А потом решайте проблему с DNS.

Edited by MercuryV
Posted (edited)

@MercuryV

20 часов назад, MercuryV сказал:

Проверьте по IP адресу, а не по имени. А потом решайте проблему с DNS.

я провел доп поератора связи - специально под это дело... вобщем по IP рабоает, и с прописанного по IP клиента (Wi-Fi) доступ есть по IP запросу (иду на веб морду, пингую машину по доменному имени и уже по полученному IP работаю с клиента). Лог выдает: 

Скрытый текст
Фев 16 11:44:57
 
pppd[1634]
primary DNS address 10.1.1.20
Фев 16 11:44:57
 
pppd[1634]
secondary DNS address 10.1.1.21

не подскажите - можно ли их как то автоматически использовать только для определенных IP, или только вручную забивать на стороне клиента? Я просто не уверен что они статические....

 

P.S. теперь openfortivpn перестал автоматически подниматься после перезагрузки роутера (после того как настроил PPoE соединение) - опять окружение переустанавливать?))))

Edited by NikolayTLM
Posted
3 часа назад, NikolayTLM сказал:

можно ли их как то автоматически использовать только для определенных IP

Можно использовать нужные DNS серверы для определенного домена (рабочего). Посмотрите справку. Детали не подскажу, пользуюсь своим DNS сервером, а не комплектным из прошивки. 

  • 1 year later...
Posted

Подскажите, а как запускать сценарий/скрипт при поднятии и/или разрыве подключения? 

Пробовал через скрипт в /opt/etc/ndm/wan.d  не работает.

Posted
В 30.08.2023 в 20:25, Alex Klink сказал:

Подскажите, а как запускать сценарий/скрипт при поднятии и/или разрыве подключения? 

Пробовал через скрипт в /opt/etc/ndm/wan.d  не работает.

Можно

backup-Tor-202308-31.tar

Posted
В 16.02.2022 в 15:58, MercuryV сказал:

Можно использовать нужные DNS серверы для определенного домена (рабочего). Посмотрите справку. Детали не подскажу, пользуюсь своим DNS сервером, а не комплектным из прошивки. 

Можно и из прошивки

    tls upstream us-ny-alula.heliumcloud.cc 853 sni us-ny-alula.heliumcloud.cc domain lib

Ключевое слово domain

Posted
В 01.02.2022 в 03:19, MercuryV сказал:

Скрипт для автозагрузки - /opt/etc/init.d/S11openfortivpn

#!/bin/sh

ENABLED=yes
PROCS=openfortivpn
ARGS=""
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

. /opt/etc/init.d/rc.func

Скрипт для форвардинга - /opt/etc/ndm/netfilter.d/111-openfortivpn.sh

#!/bin/sh

INTERFACE="work"

[ "$type" == "ip6tables" ] && exit 0
[ "$table" != "filter" ] && exit 0
[ -z "$(iptables -S | grep $INTERFACE)" ] || exit 0

iptables -w -I FORWARD -s 192.168.XX.YY -i br0 -o $INTERFACE -j ACCEPT

exit 0

Здесь я разрешаю соединения с конкретного компьютера домашнего сегмента через интерфейс work. Чтобы имя интерфейса было именно таким, в конфиг openfortivpn добавлен параметр pppd-ifname = work

/opt/etc/ppp/ip-up.d/10-accept.sh

#!/bin/sh

INTERFACE=$1

cat << EOF >/opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh
#!/bin/sh

[ "\$type" != "iptables" ] && exit 0
[ "\$table" != "filter" ] && exit 0

ip4t() {
	if ! iptables -C "\$@" &>/dev/null; then
		iptables -A "\$@" || exit 0
	fi
}

ip4t _NDM_SL_FORWARD -m mac --mac-source dd:33:35:64:18:a7 -i br0 -o ${INTERFACE} -j ACCEPT
ip4t _NDM_SL_FORWARD -m mac --mac-source ff:22:56:49:e1:fc -i br0 -o ${INTERFACE} -j ACCEPT

exit 0
EOF

chmod +x /opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh
type=iptables table=filter /opt/etc/ndm/netfilter.d/55f-fortivpn-${INTERFACE}.sh &

 

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...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.