@Batiskaf_stv
Программист, ИТ-энтузиаст

Как настроить iptables для коннекта к OpenVPN client'у?

Добрый день!
Обычно все настраивают доступ OpenVPN-клиентов к серверу (у меня это уже работает). А теперь мне нужно наоборот - RDP-доступ из локальной сети сервера к подключенному клиенту.
Подскажите, пожалуйста, как правильно всё настроить?
Имеется:
1. Домашняя сеть 192.168.10.0/24 шлюз - linux 192.168.10.1
2. На шлюзе работает OpenVPN-сервер 10.15.0.1.
3. Есть OpenVPN-клиент 10.15.0.3, который может зайти RDP одной из машин в домашней сети, всё остальное отключено (по крайней мере, надеюсь).
4. Другому клиенту не разрешён доступ в локальную сеть, зато OpenVPN-сервер для него выступает в качестве интернет-шлюза.
5. С искомой домашней машины 192.168.10.2 успешно пингуется сервер 10.15.0.1, но не нужный 10.15.0.3 (возможно в том числе потому, что на той машине закрыты icmp-порты для этой сети).

[user@router ~]$ sudo iptables -t nat -nvL 
Chain PREROUTING (policy ACCEPT 5 packets, 254 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 1 packets, 52 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 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         
 3064  219K MASQUERADE  all  --  *      enp3s0  192.168.10.0/24        0.0.0.0/0           
  375 24138 MASQUERADE  all  --  *      enp3s0  10.15.0.0/24         0.0.0.0/0

[user@router ~]$ sudo iptables -nvL FORWARD
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 4812  279K TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x06/0x02 TCPMSS clamp to PMTU
4359K 2020M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 4157  285K fw-interfaces  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 fw-open    all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-unreachable

[user@router ~]$ sudo iptables -nvL fw-interfaces
Chain fw-interfaces (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   74  3848 ACCEPT     tcp  --  tun0   *       10.15.0.3            192.168.10.20          tcp dpt:3389
 3627  252K ACCEPT     all  --  enp2s0 *       0.0.0.0/0            0.0.0.0/0           
    0     0 DROP       all  --  tun0   *       10.15.0.0/16         192.168.10.0/16       
  460 29487 ACCEPT     all  --  tun0   *       0.0.0.0/0            0.0.0.0/0

tun0 - OpenVPN-интерфейс
enp2s0 - локальный интерфейс (домашняя сеть)
enp3s0 - внешний интерфейс (роутера)

Попутно вопрос: нужно ли на внешнем интерфейсе роутера закрывать icmp (если можно со ссылками на авторитетные источники) и если да, то как правильно DROP или REJECT?
  • Вопрос задан
  • 1417 просмотров
Решения вопроса 1
@Batiskaf_stv Автор вопроса
Программист, ИТ-энтузиаст
Через пару дней собрался, подумал и получилось в 2 шага:
1. На OpenVPN-клиенте (Windows 7) в брандмауэре в доп. настройках в правилах разрешил RDP для общественных сетей (моё VPN подключение числилось "Общественной сетью") (правило "Дистанционное управление рабочим столом (TCP - входящий)").
2. На шлюзе в iptables в цепочку fw-interfaces добавил правило:
[user@router ~]$ sudo iptables -I fw-interfaces 3 -s 192.168.10.2 -d 10.15.0.3 -p tcp --dport 3389

И всё заработало!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы