OpenVPN клиент на роутере debian (Нет интернета у клиентов)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

OpenVPN клиент на роутере debian

Сообщение Dotstal »

Сервер на VPS, все работает если подключится обычным клиентом телефон/комп, подрубаю роутер и все, подскажите как прописать маршруты и куда, не могу понять, слабоват я в маршрутизации, 3 дня читаю ищу - не помогает.
server.conf
local 45.9.73.92
local 45.9.73.92
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
keepalive 10 120
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
# for udp only
explicit-exit-notify 1
interfaces
source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp1s0
iface enp1s0 inet dhcp

auto br0
iface br0 inet static
address 192.168.1.1
netmask 255.255.255.0
bridge_ports enp2s0 eno1 enp7s0 enp8s0 enp9s0

pre-up /etc/iptables.sh

auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set enp1s0 up # line maintained by pppoeconf
provider dsl-provider
iptables
#!/bin/bash

export IPT="iptables"

# Внешний интерфейс
export WAN=enp1s0 # МТС
#export WAN=ppp0 # Ростелеком
#export WAN=tun0 # VPN
export WAN_IP=dhcp

# Локальная сеть
export LAN1=br0
export LAN1_IP_RANGE=192.168.1.0/24

# Очищаем правила
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Запрещаем все, что не разрешено
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# Разрешаем localhost и локалку
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A INPUT -i $LAN1 -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN1 -j ACCEPT

# Рзрешаем пинги
#$IPT -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
#$IPT -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Разрешаем все исходящие подключения сервера
$IPT -A OUTPUT -o $WAN -j ACCEPT
# Разрешаем все входящие подключения сервера
#$IPT -A INPUT -i $WAN -j ACCEPT

# разрешаем установленные подключения
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

# Отбрасываем неопознанные пакеты
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Отбрасываем нулевые пакеты
$IPT -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

# Закрываемся от syn-flood атак
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP


# Разрешаем доступ из локалки наружу
$IPT -A FORWARD -i $LAN1 -o $WAN -j ACCEPT
# Закрываем доступ снаружи в локалку
$IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT

# Включаем NAT
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN1_IP_RANGE -j MASQUERADE

# открываем Rutracker
$IPT -t nat -A OUTPUT -p tcp -m tcp --dport 80 -d 195.82.146.120/30 -j DNAT --to-destination 185.15.211.203:80

#все для ТОР
$IPT -A INPUT -s $LAN1_IP_RANGE -p tcp --dport 9040 -j ACCEPT
$IPT -A INPUT -s $LAN1_IP_RANGE -p udp --dport 5300 -j ACCEPT
$IPT -A INPUT -p tcp --dport 9040 -j DROP
$IPT -A INPUT -p udp --dport 5300 -j DROP
$IPT -t nat -A PREROUTING -p tcp -d 10.0.0.0/8 -j REDIRECT --to-port 9040
$IPT -t nat -A PREROUTING -p udp --dport 53 -m string \
--hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300
$IPT -t nat -A OUTPUT -p udp --dport 53 -m string \
--hex-string "|056f6e696f6e00|" --algo bm -j REDIRECT --to-ports 5300
$IPT -t nat -A PREROUTING -p tcp -m multiport --dports 80,443 \
-m set --match-set blacklist dst -j REDIRECT --to-port 9040
$IPT -t nat -A OUTPUT -p tcp -m multiport --dports 80,443 \
-m set --match-set blacklist dst -j REDIRECT --to-port 9040

#Обход Squid
$IPT -t nat -A PREROUTING -s 192.168.1.10 -p tcp -m tcp --dport 80 -j RETURN
$IPT -t nat -A PREROUTING -s 192.168.1.10 -p tcp -m tcp --dport 443 -j RETURN
$IPT -t nat -A PREROUTING -s 192.168.1.11 -p tcp -m tcp --dport 80 -j RETURN
$IPT -t nat -A PREROUTING -s 192.168.1.11 -p tcp -m tcp --dport 443 -j RETURN
$IPT -t nat -A PREROUTING -s 192.168.1.20 -p tcp -m tcp --dport 80 -j RETURN
$IPT -t nat -A PREROUTING -s 192.168.1.20 -p tcp -m tcp --dport 443 -j RETURN

#Подключаем Squid
$IPT -t nat -A PREROUTING -p tcp -m tcp -s $LAN1_IP_RANGE --dport 443 -j REDIRECT --to-ports 3129
$IPT -t nat -A PREROUTING -p tcp -m tcp -s $LAN1_IP_RANGE --dport 80 -j REDIRECT --to-ports 3128

# Сохраняем правила
/sbin/iptables-save > /etc/iptables.rules
route

До соединения

Destination Gateway Genmask Flags Metric Ref Use Iface
default 100.126.0.1 0.0.0.0 UG 0 0 0 enp1s0
100.126.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp1s0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0

После соединения

Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 100.126.0.1 0.0.0.0 UG 0 0 0 enp1s0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
45.9.73.92 100.126.0.1 255.255.255.255 UGH 0 0 0 enp1s0
100.126.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp1s0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Spoiler
555.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось Dotstal 09.02.2023 15:33, всего редактировалось 3 раза.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

Во-первых, openvpn устанавливается из реп, а не скачанными неведомо откуда скриптами. Во-вторых, для сохранения настроек iptables используется iptables-persistent.
В-третьих, Вам нужно настроить маршрут по умолчанию. Руками это ip route add default via 10.8.0.1, а в конфиге, насколько я разумею, надо прописывать что-то вроде

Код: Выделить всё

route 0.0.0.0 0.0.0.0 10.8.0.1
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

1. Соглашусь с предыдущим оратором по поводу установки. В чём проблема самому установить...? Есть хорошо документированный howto.
2. В конфиге сервера что за бред в server-ipv6 указан и нужен ли Вам ipv6...?
3. В interfaces не вижу поднятого tun0
4. В iptables не вижу сети, указанной в конфиге OpenVPN

В принципе route я уже даже открывать не стал.

В конфиг рекомендую добавить 2 строчки
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
и мониторить при попытке подключения

Зачем палить свои внешние IP адреса + SSH порт в iptables...? Там походу уже брутится всё, что только можно...=)
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Знаю что из репы можно, но я пока тестирую, для этого и так сойдет, потому что то локацию, то сервер сменю, то хрень всякую поставлю и тп.
используется iptables-persistent - а я все по старинке...
Так с маршрутом и проблема как мне кажется, это писать на сервере или роутере?
+ SSH порт в iptables - пусть брутят, там по ключу, за нат провайдера, на динамическом ip
SwapON писал:
08.02.2023 06:18
2. В конфиге сервера что за бред в server-ipv6 указан и нужен ли Вам ipv6...?
3. В interfaces не вижу поднятого tun0
4. В iptables не вижу сети, указанной в конфиге OpenVPN
2. не нужен, провайдер не поддерживает.
3. Нужно его добавить обязательно, даже если впн связь не установлена?
4. А я не знаю что туда писать?
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

Маршрут сразу не подскажу. У меня немного по другому. Я в конторе поднял OpenVPN, но так, чтоб клиенты, которые подключаются к нему, юзали свой интернет, а не интернет компании. Для этого убрал push redirect-gateway, но чтоб они могли использовать ресурсы внутренний сети конторы, есть client-config-dir и уже для каждого (смотря кому какая сеть нужна) клиента, я в конфиге клиента пушу сеть.

В твоём случае
1. Убери эти iptables'ы скопипастенные с какого-то serveradmin сайта.
2. Сбрось все правила
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -X
iptables -t nat -X
iptables -t mangle -X
3. Наложи маскарад iptables -A POSTROUTING -s 10.8.0.0/8 -o enp1s0 -j MASQUERADE
4. Интерфейс tun0 поднимается (должен) при старте openvpn systemctl status openvpn-server@server посмотри статус
5. Добавь строчки в конфиг сервера, для логирования. Если всё взлетит, то tail -f /var/log/openvpn/openvpn.log смотреть как идёт подключение. Если подключение есть, а сети нет, надо разбираться с маршрутами.

Сделай хотя бы первые 3 пункта...
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Службу не делал, запускаю пока ручками, tun0 поднимается

iptables -A POSTROUTING -s 10.8.0.0/8 -o enp1s0 -j MASQUERADE
iptables: No chain/target/match by that name.

tail -f /var/log/openvpn/openvpn.log
После этого не подключается к серверу
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

Dotstal писал(а):
08.02.2023 10:24
Так с маршрутом и проблема как мне кажется, это писать на сервере или роутере?
На роутере.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

SwapON писал:
08.02.2023 10:49
3. Наложи маскарад iptables -A POSTROUTING -s 10.8.0.0/8 -o enp1s0 -j MASQUERADE
Что за бред?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Bizdelnick писал:
08.02.2023 13:39
На роутере.
ip route add default via 10.8.0.1
RTNETLINK answers: File exists
Результата нет

Shell

Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 100.126.0.1 0.0.0.0 UG 0 0 0 enp1s0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
45.9.73.92 100.126.0.1 255.255.255.255 UGH 0 0 0 enp1s0
100.126.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp1s0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

Dotstal писал(а):
08.02.2023 17:30
ip route add default via 10.8.0.1
RTNETLINK answers: File exists
А если вместо add сделать replace?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Error: Nexthop has invalid gateway.
Так реагирует на оба варианта, после перезагрузке роутера.
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

Bizdelnick писал:
08.02.2023 13:41
SwapON писал:
08.02.2023 10:49
3. Наложи маскарад iptables -A POSTROUTING -s 10.8.0.0/8 -o enp1s0 -j MASQUERADE
Что за бред?
Поторопился
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE
Подумаешь забыл цепочку указать :sleep: человек если хоть как-то знаком с маршрутизацией, должен не просто ctrl+c/ctrl+v делать, а немного думать и с гуглтранслейтером пытаться переводить ошибки.

В моё время на форумах помогали "зелёным балбесам", а не критиковали и не обсмеивали.
Добавлено (01:07):
Мой тебе совет. Снеси на хер всё! Разверни там на своём VDS заново ОСь и если не хочешь читать документацию, то разверни openvpn по этому мануалу. Он вроде как вменяемый.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

SwapON писал:
09.02.2023 01:00
Подумаешь забыл цепочку указать
Не цепочку. На фиг не нужен тут этот маскарадинг. ТС же не трафик из VPN через свою сеть гонять собирается, а наоборот. А изначально всё, вроде, нормально у него было (не вчитывался, мог и проглядеть что-то, конечно).
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

Bizdelnick писал:
09.02.2023 02:26
На фиг не нужен тут этот маскарадинг. ТС же не трафик из VPN через свою сеть гонять собирается, а наоборот.
1. Ну поднимется у него на сервере tun0 (10.8.0.2), как он будет гонять интернет в WAN и обратно (45.9.73.92)...? Натить разве не нужно...? Или что-то уже изменилось что я пропустил...?
2. Ладно. Исходя из конфига сервера там вообще всё смешалось кони люди. Моё предложение снести всё и развернуть с нуля как полагается в силе. А ещё лучше, для полного понимания, комментировать каждый параметр в конфиге.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20722
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: OpenVPN клиент на роутере debian

Сообщение Bizdelnick »

SwapON писал:
09.02.2023 02:54
как он будет гонять интернет в WAN и обратно
Не понял, что значит «гонять интернет через WAN», но единственное место, где ему нужен маскарадинг (не считая уже настроенного), — это шлюз 45.9.73.92.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Снес уже, теперь разбираюсь с центром сертификации, инструкции в основном одни и теже, с первого раза не завелосЯ.
Ну хрен бы с ним, так он логи гад не пишет совсем, кроме journalctl -xe ничего нет.
Почему он через /etc/init.d/openvpn start работает, а через systemctl start openvpn@server не хочет, я не пойму, это разные вещи чтоли, в ручную все мутно вобщем, это вам не в вебке роутера...
Так что я пока пропал на пару дней.

Нужно было systemctl enable --now openvpn-server@server
Все переставил, с ключами намучался, конект у клиента есть, у роутера все по старому.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp1s0 -j MASQUERADE - результата не даёт
Последний раз редактировалось Dotstal 09.02.2023 11:24, всего редактировалось 1 раз.
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

Dotstal писал(а):
09.02.2023 09:07
Нужно было systemctl enable --now openvpn-server@server
Статус openvpn-server@server посмотри. Если активен, то...
В конфиг сервера добавил строчки
status /var/log/openvpn/openvpn-status.log
и
log-append /var/log/openvpn/openvpn.log...?
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

SwapON писал:
09.02.2023 10:38
Dotstal писал(а):
09.02.2023 09:07
Нужно было systemctl enable --now openvpn-server@server
В конфиг сервера добавил строчки
Логи пошли, во всех инструкциях openvpn@server, а по вашей ссылке openvpn-server@server (видимо чтото поменяли)
Он ругался на, я не понимал в чем причина
ovpn-server[32798]: Options error: In [CMD-LINE]:1 : Error opening configuration file: /etc/openvpn/server.conf

Так что опять все упирается в переадресацию на роутере.
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

Dotstal писал(а):
09.02.2023 11:28
Так что опять все упирается в переадресацию на роутере.
Показывай route
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

В первом посте есть.

Shell

Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
default 100.127.0.1 0.0.0.0 UG 0 0 0 enp1s0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
45.9.73.92 100.127.0.1 255.255.255.255 UGH 0 0 0 enp1s0
100.127.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp1s0
128.0.0.0 10.8.0.1 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
Спасибо сказали:
Аватара пользователя
SwapON
Сообщения: 147
ОС: Arch linux => Gentoo

Re: OpenVPN клиент на роутере debian

Сообщение SwapON »

В консоли tail -f /var/log/openvpn/openvpn.log
Подключайся клиентом.
Логи, которые вывалятся ложи сюда и ссылку сюда. Посмотрим как у тебя идёт подключение и маршрутизация
Спасибо сказали:
Аватара пользователя
Dotstal
Сообщения: 179
ОС: Win 10, Debian 9

Re: OpenVPN клиент на роутере debian

Сообщение Dotstal »

Вот
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали: