Есть сервер OpenVPN (10.8.0.0) — клиент роутер (192.168.1.1) == клиенты роутера (192.168.1.х) При подключении на клиентах и роутере нет интернета, сервер и роутер Debian 11 Отдельно клиенты свободно подключаются к серверу. При активации push «route 192.168.1.0 255.255.255.0» на сервере, роутер отваливается (приходится перезагружать), сначала пробовал по скрипту ставить, потом решил ручками все сертификаты подписать - не помогло.
Сервер
local хх.хх.хх.хх
port 1194
proto udp
dev tun
#topology subnet
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
client-config-dir /etc/openvpn/server/ccd
route 192.168.1.0 255.255.255.0
#push "route 192.168.1.0 255.255.255.0"
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
cdd
ifconfig-push 10.8.0.2 255.255.255.0
iroute 192.168.1.0 255.255.255.0
push "route 192.168.1.0 255.255.255.0"
Клиент
client
dev tun
proto udp
remote хх.хх.хх.хх 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
auth SHA256
cipher AES-256-CBC
verb 3
key-direction 1
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
При подключении
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