Установка OpenVPN на VPS

Автор axlrose, 23 октября 2019, 21:06:44

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

axlrose

Привет, не бейте палками, я совсем недавно использую Linux, поэтому возникла проблема. Решил обзовестись VPN, арендовал впс, скачал установочный скрипт опенвпна(install-openvpn.sh), он (вроде как) все сделал, я скинул конфиги на свою машину, но при подключении к VPN нет выхода в интернет. Пинговал с сервера 8.8.8.8 все работает, пинговал сам сервак - то же самое, все работает. То есть, когда я со своей машины прописываю "openvpn --config blabla.ovpn", я не могу выйти в интернет.  Подскажите дебику, что сделать?

alexxnight

#1
Ну что-то Вы совсем себя "зачморили": никто Вас палками бить не будет и обзывать на разный манер...

Когда Вы отправляете пакет на OVPN сервер, он должен его правильно маршрутизировать дальше по цепочке своему шлюзу...
для этого нужно настроить OVPN:
отредактировать файл /etc/sysctl.conf
там есть закоментированная строчка похожая на это: net.ipv4.ip_forward=1 Раскоментируйте
Выполните: sysctl net.ipv4.ip_forward=1

добавьте правило в netfilter, и оно должно быть в автозагрузке, а то, после перезагрузки сервера его не будет...
iptables -t nat -A POSTROUTING -o [интерфейс сетевой карты сервера, чаще всего eth0] -j MASQUERADE

и все должно работать

axlrose

Все сделал, но так и не заработало.

alexxnight

sysctl -a | grep ip_forward

iptables -t filter -vnL

iptables -t nat -vnL

ip a

в студию

endru

если виртуализация OpenVZ - то может и не заработать.
маршруты на клиенте покажи после подключения к VPN

axlrose

#5
*sysctl -a | grep ip_forward

net.ipv4.ip_forward = 1
net.ipv4.ip_forward_update_priority = 1
net.ipv4.ip_forward_use_pmtu = 0

*iptables -t filter -vnL

Chain INPUT (policy ACCEPT 573K packets, 67M bytes)
pkts bytes target     prot opt in     out     source               destination         
  582 94045 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:1194

Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-ISOLATION-STAGE-1  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  docker0 docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  *      *       10.8.0.0/24          0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 1038K packets, 103M bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER (1 references)
pkts bytes target     prot opt in     out     source               destination         

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       all  --  *      docker0  0.0.0.0/0            0.0.0.0/0           
    0     0 RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0

*iptables -t nat -vnL

Chain PREROUTING (policy ACCEPT 170K packets, 7777K bytes)
pkts bytes target     prot opt in     out     source               destination         
170K 7772K DOCKER     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type LOCAL

Chain INPUT (policy ACCEPT 170K packets, 7777K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      !docker0  172.17.0.0/16        0.0.0.0/0           
    0     0 SNAT       all  --  *      *       10.8.0.0/24         !10.8.0.0/24          to:45.14.13.71
    0     0 SNAT       all  --  *      venet0  10.8.0.0/24          0.0.0.0/0            to:41.13.14.71
    0     0 MASQUERADE  all  --  *      eth0    10.0.0.0/24          0.0.0.0/0           
    0     0 MASQUERADE  all  --  *      eth0    10.0.0.0/24          0.0.0.0/0           
1194 90524 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 MASQUERADE  all  --  *      eth0    10.0.0.0/24          0.0.0.0/0           
    0     0 SNAT       all  --  *      *       10.8.0.0/24         !10.8.0.0/24          to:45.14.13.71

Chain OUTPUT (policy ACCEPT 1194 packets, 90524 bytes)
pkts bytes target     prot opt in     out     source               destination         
    0     0 DOCKER     all  --  *      *       0.0.0.0/0           !127.0.0.0/8          ADDRTYPE match dst-type LOCAL

Chain DOCKER (2 references)
pkts bytes target     prot opt in     out     source               destination         
    0     0 RETURN     all  --  docker0 *       0.0.0.0/0            0.0.0.0/0

*ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 52:57:00:47:b1:4b brd ff:ff:ff:ff:ff:ff
    inet 45.14.13.71/24 brd 45.14.13.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::5057:ff:fe47:b14b/64 scope link
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::2be8:9e04:431d:e962/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:b3:0b:2f:2b brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

axlrose

#6
*ip route

0.0.0.0/1 via 10.8.0.1 dev tun0
default via 192.168.0.1 dev wlp3s0 proto dhcp metric 600
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2
45.14.13.71 via 192.168.0.1 dev wlp3s0
128.0.0.0/1 via 10.8.0.1 dev tun0
169.254.0.0/16 dev wlp3s0 scope link metric 1000
192.168.0.0/24 dev wlp3s0 proto kernel scope link src 192.168.0.105 metric 600

alexxnight

Видно, что много пакетов маскарадятся, но не видно их в цепочке FORWARD.
И есть непонятки в маршрутах:
не совпадают наименования интерфейсов (eth0 вместо wlp3s0),
0.0.0.0/1 via 10.8.0.1 dev tun0 - это что? Кто это сделал и зачем? т.е. Вы любой внешний трафик по умолчанию заворачиваете в tun0, обратно?
и это тоже не понятно: 128.0.0.0/1 via 10.8.0.1 dev tun0

в общем, маршруты нужно привести в порядок

axlrose

Очистил iptables и при подключении стал проходить ping, исчезла вот эта запись 0.0.0.0/1 via 10.8.0.1 dev tun0 , но при вводе этой команды iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE, ping опять не работает и появляется то же самое в ip route - 0.0.0.0/1 via 10.8.0.1 dev tun0.
Я буду очень благодарен, если вы мне поможете с настройкой ::)

alexxnight

Покажите
cat /etc/network/interfaces

axlrose

#10
*cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 45.14.13.71/24
gateway 45.14.13.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 8.8.8.8 8.8.4.4
dns-search had.su



alexxnight

#11
непонятно, откуда появляются маршруты с этим интерфейсом:
wlp3s0

ls -l source /etc/network/interfaces.d/*

axlrose

#12
*ls -l source /etc/network/interfaces.d/*

ls: cannot access 'source': No such file or directory
ls: cannot access '/etc/network/interfaces.d/*': No such file or directory


cd interfaces.d
root@vm821932:/etc/network/interfaces.d# ls -l
total 0
root@vm821932:/etc/network/interfaces.d# ls -la
total 8
drwxr-xr-x 2 root root 4096 Jan 28  2019 .
drwxr-xr-x 7 root root 4096 Oct 27 15:23 ..


А это на моей машине, личной

ifconfig

enp2s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 1c:75:08:f0:8d:12  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8  bytes 396 (396.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 396 (396.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.105  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::ee55:f9ff:fe60:12d5  prefixlen 64  scopeid 0x20<link>
        ether ec:55:f9:60:12:d5  txqueuelen 1000  (Ethernet)
        RX packets 5824  bytes 5668210 (5.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5187  bytes 742172 (724.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

alexxnight

с ошибкой я написал вывод файлов в каталоге /etc/network/interfaces.d/

покажите вывод команды на сервере:
ip r

axlrose

#14
*ip r

default via 45.14.13.1 dev eth0 onlink
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
45.14.13.0/24 dev eth0 proto kernel scope link src 45.14.13.71
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

*ls -l source /etc/network/interfaces.d/

ls: cannot access 'source': No such file or directory
/etc/network/interfaces.d/:
total 0
:-[