LINUX.ORG.RU
ФорумAdmin

OpenVPN одинаковая подсеть, но разные IP

 ,


0

1

На роутеры ставится OpenVPN:

  1. user01.ovpn (vpn_ip: 172.17.0.2) локальная сеть 192.168.0.0/24
  2. user02.ovpn (vpn_ip: 172.17.0.3) локальная сеть 192.168.20.0/24
  3. user03.ovpn (vpn_ip: 172.17.0.4) локальная сеть 192.168.50.0/24
  4. user04.ovpn (vpn_ip: 172.17.0.5) локальная сеть 192.168.50.0/24

На user01 стоит сервер мониторинга, который пингует другие лок. сети. Между собой связи всех - не нужно, тока мониторинг от user01. У user03 и user04 одинаковая подсеть, IP НЕ пересекаются. Как оставить у user03 и user04 подсеть 50 и чтобы работало? Заранее спасибо!

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

local x.x.x.x
port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
auth SHA512
tls-crypt tc.key
topology subnet
server 172.17.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;push "redirect-gateway def1 bypass-dhcp"
;push "dhcp-option DNS 8.8.8.8"
;push "dhcp-option DNS 8.8.4.4"
keepalive 10 60
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
verb 3
crl-verify crl.pem
management localhost 7505

client-to-client
client-config-dir /etc/openvpn/ccd

route 192.168.20.0 255.255.255.0
route 192.168.50.0 255.255.255.0

/etc/openvpn/ccd/user01:

push "route 192.168.20.0 255.255.255.0"
push "route 192.168.50.0 255.255.255.0"

/etc/openvpn/ccd/user02:

iroute 192.168.20.0 255.255.255.0

/etc/openvpn/ccd/user03:

iroute 192.168.50.0 255.255.255.0

/etc/openvpn/ccd/user04:

iroute 192.168.50.0 255.255.255.0

iptables:

root@vps:~# iptables-save
# Generated by iptables-save v1.8.4 on Fri Nov 26 10:12:52 2021
*filter
:INPUT ACCEPT [71569:7733906]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [619592:98613925]
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 172.17.0.0/21 -j ACCEPT
COMMIT
# Completed on Fri Nov 26 10:12:52 2021
# Generated by iptables-save v1.8.4 on Fri Nov 26 10:12:52 2021
*nat
:PREROUTING ACCEPT [37019:2737039]
:INPUT ACCEPT [18825:998747]
:OUTPUT ACCEPT [787:59752]
:POSTROUTING ACCEPT [1993:131584]
-A POSTROUTING -s 172.17.0.0/21 ! -d 172.17.0.0/21 -j SNAT --to-source x.x.x.x

/etc/sysctl.conf:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

"тока мониторинг " - для мониторинга тока или более правильно говорить измерения силы тока применяется амперметр. Он подключается параллельно.

anonymous ()

"тока мониторинг " - для мониторинга тока или более правильно говорить измерения силы тока применяется амперметр. Он подключается параллельно.

Тебе нужно делать netmap средствами iptables.

Т.е. ты будешь отображать сеть, допустим 192.168.150.0/24, посредством netmap в сеть 192.168.50.0/24 user4. Для это тебе нужно маркировать пакеты через -j MARK, далее преобразовывать IP адрес в сеть 192.168.50.0/24 и опять же ставить маркировку. Затем написать правило в ip rule, в котором указать, что маркированные пакеты с адресом назначения сети 192.168.50.0/24 нужно направлять на роутер клиента user4.

anonymous ()

"тока мониторинг " - для мониторинга тока или более правильно говорить измерения силы тока применяется амперметр. Он подключается параллельно.

Я правильно понял, что к твоему VPN серверу подключаются разные клиенты и тебе нужно иметь доступ в их сети с ВПН сервера. Но у двух клиентов их локальные сети совпадают?

Если да, то смотри предыдущий комментарий.

Если я неправильно понял, то тебе нужно ТОЛЬКО нарисовать схему сети и потом загрузить сюда или отобразить по-другому.

anonymous ()

"тока мониторинг " - для мониторинга тока или более правильно говорить измерения силы тока применяется амперметр. Он подключается параллельно.

Прочитал более внимательно описание темы.

Делай netmap, но в этом случае для клиента user1 будет две сети, одна 192.168.50.0/24 и вторая 192.168.150.0/24.

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

Не получится в 192.168.150.0/24, вся 192 будет занята. Скорее всего буду транслировать в 172.

Также нашёл интересный код без netmap типа:

# /etc/openvpn/server.conf
ifconfig 10.99.99.1 10.99.99.2
route 10.99.99.0 255.255.255.0
push "route 10.99.99.0 255.255.255.0"
push "client-nat dnat 10.99.99.11 255.255.255.255 10.10.111.11"
push "client-nat dnat 10.99.99.12 255.255.255.255 10.10.112.12"
push "client-nat dnat 10.99.99.13 255.255.255.255 10.10.113.13"

# /etc/openvpn/ccd/client_11
ifconfig-push 10.99.99.11 10.99.99.1
push "client-nat snat 10.99.99.11 255.255.255.255 10.10.111.11"
push "client-nat snat 192.168.0.0 255.255.255.0 10.10.11.0"
push "client-nat dnat 10.10.10.0 255.255.255.0 192.168.0.0"
iroute 10.10.11.0 255.255.255.0
iroute 10.10.111.0 255.255.255.0

Ссылка на источник: https://qastack.ru/unix/57375/11-nat-with-several-identical-lans

Хз на скока он оптимальный

ramneak ()

Так ты определись, что именно у тебя не работает?

В таком виде все это выглядит или нерешабельно в принципе, или слишком просто. В чем вопрос?

AVL ()
Последнее исправление: AVL (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.