LINUX.ORG.RU
решено ФорумAdmin

VPS server, ubunty 22.04.4. Перестаёт быть видимым бубличный ip адрес после включения OpenVPN соединения

 , , ,


0

1

Добрый вечер!

У меня ограниченный опыт в работе с сетями, поэтому хотел бы обратиться за советом к специалистам.

У меня есть VPS-сервер с публичным IP. На сервере установлены OpenVPN и WireGuard. Планируется использовать OpenVPN для основного подключения к другой стране, а WireGuard для подключения с мобильного устройства, например.

На данный момент при запуске OpenVPN сервер по публичному IP становится недоступным. При доступе к серверу через веб-терминал IP адрес уже отличается, так как OpenVPN меняет его. Мой вопрос заключается в том, как настроить OpenVPN так, чтобы при его запуске сохранялось подключение по публичному IP, но весь исходящий трафик направлялся через IP адрес OpenVPN.



Последнее исправление: drmonstr (всего исправлений: 1)

Ответ на: комментарий от utanho

Извините за недопонимание. Могли бы вы уточнить ваш комментарий или предложить конкретное решение для моей проблемы с OpenVPN?

drmonstr
() автор топика
Ответ на: комментарий от drmonstr

Телепаты подсказывают, что твой VPS сервер, на самом деле OpenVPN клиент. И, подключаясь к OpenVPN серверу, получает команду на замену маршрута по-умолчанию. Тот, который 0.0.0.0/0. Поэтому ничего не работает, все пропало, план полностью провалился.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

По сути так да. Нельзя разве сделать чтобы как то это всё совместно работало?

У меня на роутере белый ip, vpn через wireguard работает, на любое устройство могу раздать и будет устройство под другим ip.

Разве в VPS нельзя сделать так ?

drmonstr
() автор топика
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 05:12:b2:81:62:09  txqueuelen 0  (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

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.0.0.7  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::f123:3eff:fe14:f34b  prefixlen 64  scopeid 0x20<link>
        ether fa:56:3e:87:f3:4b  txqueuelen 1000  (Ethernet)
        RX packets 15356  bytes 1192790 (1.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13430  bytes 1021943 (1.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

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 176  bytes 14236 (14.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 176  bytes 14236 (14.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.8.0.1  netmask 255.255.255.0  destination 10.8.0.1
        inet6 fe80::f0d7:f121:6bb3:d4d  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 304 (304.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 10.1.9.3  netmask 255.255.255.0  destination 10.1.9.3
        inet6 fe11::3aa0:6f3b:f6e7:41ae  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 243  bytes 17880 (17.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
drmonstr
() автор топика
Ответ на: комментарий от drmonstr

Ну значит у тебя нет прямого белого IP адреса. А твой VPS находится за NAT.

anonymous
()
Ответ на: комментарий от Anoxemian

Добавил, результата нет. Пинг по белому ip пропадает сразу же.

client
verb 1
dev tun
auth-user-pass auth.txt
auth-nocache
persist-key
persist-tun
nobind
compress
#route-nopull
pull-filter ignore redirect-gateway
drmonstr
() автор топика
Ответ на: комментарий от drmonstr

Что в таблице маршрутизации после подключения к OpenVPN?

anonymous
()
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.1.9.1        0.0.0.0         UG        0 0          0 tun1
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 enp3s0
8.8.4.4         10.0.0.1        255.255.255.255 UGH       0 0          0 enp3s0
8.8.8.8         10.0.0.1        255.255.255.255 UGH       0 0          0 enp3s0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
10.0.0.1        0.0.0.0         255.255.255.255 UH        0 0          0 enp3s0
10.0.0.2        0.0.0.0         255.255.255.255 UH        0 0          0 enp3s0
10.1.9.0        0.0.0.0         255.255.255.0   U         0 0          0 tun1
10.8.0.0        0.0.0.0         255.255.255.0   U         0 0          0 tun0
***.***.***.254 10.0.0.2        255.255.255.255 UGH       0 0          0 enp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
drmonstr
() автор топика
Ответ на: комментарий от drmonstr

0.0.0.0 10.1.9.1 0.0.0.0 UG 0 0 0 tun1

Ну что ты горбатого лепишь. Маршруты вкидываются. Раскомментируй route-nopull и опять ip r s покажи после.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.1.9.1        0.0.0.0         UG        0 0          0 tun1
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 enp3s0
8.8.4.4         10.0.0.1        255.255.255.255 UGH       0 0          0 enp3s0
8.8.8.8         10.0.0.1        255.255.255.255 UGH       0 0          0 enp3s0
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 enp3s0
10.0.0.1        0.0.0.0         255.255.255.255 UH        0 0          0 enp3s0
10.0.0.2        0.0.0.0         255.255.255.255 UH        0 0          0 enp3s0
10.1.9.0        0.0.0.0         255.255.255.0   U         0 0          0 tun1
10.8.0.0        0.0.0.0         255.255.255.0   U         0 0          0 tun0
***.***.***.254 10.0.0.2        255.255.255.255 UGH       0 0          0 enp3s0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
drmonstr
() автор топика
Ответ на: комментарий от Anoxemian

ДО:

root@vm-0fe0da:/etc/openvpn# ip r s
default via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
8.8.4.4 via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
8.8.8.8 via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
10.0.0.0/24 dev enp3s0 proto kernel scope link src 10.0.0.7 metric 100
10.0.0.1 dev enp3s0 proto dhcp scope link src 10.0.0.7 metric 100
10.0.0.2 dev enp3s0 proto dhcp scope link src 10.0.0.7 metric 100
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
***.***.***.254 via 10.0.0.2 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

ПОСЛЕ:

default via 10.1.9.1 dev tun1
default via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
8.8.4.4 via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
8.8.8.8 via 10.0.0.1 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
10.0.0.0/24 dev enp3s0 proto kernel scope link src 10.0.0.7 metric 100
10.0.0.1 dev enp3s0 proto dhcp scope link src 10.0.0.7 metric 100
10.0.0.2 dev enp3s0 proto dhcp scope link src 10.0.0.7 metric 100
10.1.9.0/24 dev tun1 proto kernel scope link src 10.1.9.3
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
***.***.***.254 via 10.0.0.2 dev enp3s0 proto dhcp src 10.0.0.7 metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
drmonstr
() автор топика
Ответ на: комментарий от drmonstr

default via 10.1.9.1 dev tun1

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

Anoxemian ★★★★★
()

Бубличный адрес. Это просто огонь. Запомнил.

pekmop1024 ★★★★★
()
Ответ на: комментарий от Anoxemian

Вот такое есть в конфигурационном файле OpenVPN который я запускаю:

key-direction 1
remote-cert-tls server
cipher AES-256-GCM
route-method exe
route-delay 0
route 0.0.0.0 0.0.0.0
script-security 2
proto tcp
remote **.***.***.** 80
drmonstr
() автор топика
Ответ на: комментарий от drmonstr

весь конфиг скинь и если сервер тоже твой его конфиг тоже скинь. И лог подключения, посмотрим кто 0/0 пхает.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Удалил, OpenVPN запустил, пинг не отлетает. Но и ip у него остался публичным по умолчанию, т.е. не другой страны.

drmonstr
() автор топика
Ответ на: комментарий от Anoxemian

Был такой конфиг:

client
verb 1
dev tun
auth-user-pass auth.txt
auth-nocache
persist-key
persist-tun
nobind
compress
route-nopull
pull-filter ignore redirect-gateway
<ca>
</ca>
<cert>
</cert>
<key>
</key>
<tls-auth>

</tls-auth>
key-direction 1
remote-cert-tls server
cipher AES-256-GCM
route-method exe
route-delay 0
route 0.0.0.0 0.0.0.0
script-security 2
proto tcp
remote **.***.***.** 80
drmonstr
() автор топика
Ответ на: комментарий от Anoxemian

Не понятно что это делает, но ничего не поменялось.

Далее я хочу подключаться по wireguard к VPS серверу, и чтобы у меня брался ip адрес из OpenVPN(другой страны)

drmonstr
() автор топика
Ответ на: комментарий от drmonstr

именно это эти две команды и делают. при условии что tun0 - wireguard. плюс не забудь ip_forward настроить, ну и если нет контроля за openvpn сервером, добавь nat

iptables -t nat -A POSTROUTING -o tun1 -j SNAT --to-source 10.1.9.3

а еще rp_filter выставь в 2

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

Класс, работает! Спасибо!!!!

А как сделать чтобы это всё сохранилось? Чтобы после перезагрузки всё это осталось?

drmonstr
() автор топика
Ответ на: комментарий от drmonstr

Изучи свою систему инита, действуй согласно документации, и все будет отлично.

Anoxemian ★★★★★
()
Ответ на: комментарий от drmonstr

чтобы совсем чисто было, добавь в конфиг iroute 10.8.0.0 255.255.255.0 (подсеть wireguard), и выключи нат. Если сервер это проглотит, будет шипко правильнее.

Anoxemian ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.