LINUX.ORG.RU
ФорумAdmin

OpenVPN и UFW

 , , ,


0

1

Настраиваю OpenVPN на сервачке, главным образом для LAN игрушек. Взял https://github.com/angristan/openvpn-install. На сервере стоит UFW с парой открытых портов для SSH / nginx / murmur. После установки OpenVPN дополнительно разрешил трафик на tun0: ufw allow in out on tun0

Проблема: правило для tun0 не работает - настройки фаервола влияют на VPN. Если на одном из VPN клиентов поднят сервер и этот порт не открыт, соединение блокируется фаерволом.

Конфиг сервера:

port 1194
proto udp
dev tun
user nobody
group nobody
persist-key
persist-tun
keepalive 10 120
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
dh none
ecdh-curve prime256v1
tls-crypt tls-crypt.key
crl-verify crl.pem
ca ca.crt
cert server_.....crt
key server_.....key
auth SHA256
cipher AES-128-GCM
ncp-ciphers AES-128-GCM
tls-server
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256
client-config-dir /etc/openvpn/ccd
status /var/log/openvpn/status.log
verb 3

ufw status:

To                         Action      From
--                         ------      ----
1194                       ALLOW       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
64738                      ALLOW       Anywhere
666                        ALLOW       Anywhere
Anywhere on tun0           ALLOW       Anywhere
1194 (v6)                  ALLOW       Anywhere (v6)
80 (v6)                    ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)
64738 (v6)                 ALLOW       Anywhere (v6)
666 (v6)                   ALLOW       Anywhere (v6)
Anywhere (v6) on tun0      ALLOW       Anywhere (v6)

iptables, которые ставит скрипт:

iptables -t nat -I POSTROUTING 1 -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -I INPUT 1 -i tun0 -j ACCEPT
iptables -I FORWARD 1 -i eth0 -o tun0 -j ACCEPT
iptables -I FORWARD 1 -i tun0 -o eth0 -j ACCEPT
iptables -I INPUT 1 -i eth0 -p udp --dport 1194 -j ACCEPT <-- лишнее? (порт открывается UFW)

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

Форвард включен, VPN без фаервола работает. Снес UFW и накрутил на iptables простой фаервол:

# Generated by iptables-save v1.8.7 on Tue Nov 16 12:26:04 2021
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 666 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 64738 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 64738 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
COMMIT
# Completed on Tue Nov 16 12:26:04 2021
# Generated by iptables-save v1.8.7 on Tue Nov 16 12:26:04 2021
*nat
:PREROUTING ACCEPT [2267:99668]
:INPUT ACCEPT [43:2472]
:OUTPUT ACCEPT [627:44670]
:POSTROUTING ACCEPT [629:44866]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Nov 16 12:26:04 2021

Хз, насколько это лучше чем было

dossalab
() автор топика
Последнее исправление: dossalab (всего исправлений: 1)
Ответ на: комментарий от dossalab

Зачем вот эти два правила
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
если у вас и так policy ACCEPT ?

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

Да, я хотел сделать DROP на форвард, но тогда нужно добавить довольно странное правило:

-A FORWARD -i tun0 -o tun0 -j ACCEPT
dossalab
() автор топика
Ответ на: комментарий от dossalab

В чем вы увидели странность? Случайно не в том, что входящий и исходящий интерфейсы совпадают?

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

оставил дроп на форвард и эти правила. спасибо!

dossalab
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.