Нужна подсказка по OpenVPN.
Есть ovpn-сервер, на нем же гипервизор Proxmox. Для виртуалок сделан бридж vmbr0 с адресами 10.100.0.0/16.
Есть клиенты под различными ОС + клиент, который тоже гипервизор (там так же есть vmbr0, подсеть 10.99.0.0/16), вм на котором должны быть видны другим клиентами и вм на сервере.
Происходит какой-то треш с маршрутами.
Конфиг сервера:
Код: Выделить всё
port 1194
proto udp
dev tun
ca server/ca.crt
cert server/infra.crt
key server/infra.key
dh server/dh.pem
server 10.101.0.0 255.255.255.0
route 10.100.0.0 255.255.0.0
route 10.99.0.0 255.255.0.0
push "route 10.100.0.0 255.255.0.0"
push "route 10.99.0.0 255.255.0.0"
ifconfig-pool-persist ipp.txt
client-config-dir /etc/openvpn/ccd
client-to-client
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
daemon
link-mtu 1461
log-append /var/log/openvpn.log
verb 3
Код: Выделить всё
ifconfig-push 10.101.0.6 255.255.255.0
iroute 10.99.0.0 255.255.0.0
Код: Выделить всё
client
remote IP 1194
proto udp
dev tun
ca server/ca.crt
cert client/ci-cd.crt
key client/ci-cd.key
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
tun-mtu 1340
auth SHA512
auth-nocache
askpass /etc/openvpn/client/auth.txt
keepalive 20 60
persist-key
persist-tun
log-append /var/log/openvpn.log
verb 3
Код: Выделить всё
client
remote IP 1194
proto udp
dev tun
ca server/ca.crt
cert lazy.crt
key lazy.key
duplicate-cn
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256
auth SHA512
auth-nocache
keepalive 20 60
persist-key
persist-tun
log-append /var/log/openvpn.log
verb 3
Адреса и маршруты ovpn-сервера
Код: Выделить всё
Infra:~# ip ro
default via REAL_GW dev eth0 onlink
10.99.0.0/16 via 10.101.0.2 dev tun0
10.100.0.0/16 dev vmbr0 proto kernel scope link src 10.100.0.1
10.101.0.0/24 via 10.101.0.2 dev tun0
10.101.0.2 dev tun0 proto kernel scope link src 10.101.0.1
REAL_NETWORK/24 dev eth0 proto kernel scope link src REAL_IP
Infra:~# ip ad
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:25:90:1e:02:e2 brd ff:ff:ff:ff:ff:ff
inet REAL_IP/24 brd 94.26.226.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::225:90ff:fe1e:2e2/64 scope link
valid_lft forever preferred_lft forever
4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0a:7a:28:ed:65:1f brd ff:ff:ff:ff:ff:ff
inet 10.100.0.1/16 brd 10.100.255.255 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::a08e:bff:fea8:4486/64 scope link
valid_lft forever preferred_lft forever
13: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1340 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.101.0.1 peer 10.101.0.2/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::c11b:496a:c87d:6d77/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Код: Выделить всё
hyper# ip ad
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 0c:c4:7a:dc:7c:4e brd ff:ff:ff:ff:ff:ff
inet REAL_IP/24 brd 77.223.103.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::ec4:7aff:fedc:7c4e/64 scope link
valid_lft forever preferred_lft forever
4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 0e:34:f1:ba:31:de brd ff:ff:ff:ff:ff:ff
inet 10.99.0.1/16 brd 10.99.255.255 scope global vmbr0
valid_lft forever preferred_lft forever
inet6 fe80::441d:bbff:fed6:de31/64 scope link
valid_lft forever preferred_lft forever
21: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1340 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.101.0.6 peer 255.255.255.0/32 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::edfb:d355:c28d:c6f/64 scope link stable-privacy
valid_lft forever preferred_lft forever
hyper# ip ro
default via REAL_GW dev eth0 onlink
10.99.0.0/16 dev vmbr0 proto kernel scope link src 10.99.0.1
10.100.0.0/16 via 255.255.255.0 dev tun0
10.101.0.0/24 via 255.255.255.0 dev tun0
REAL_NETWORK/24 dev eth0 proto kernel scope link src REAL_IP
255.255.255.0 dev tun0 proto kernel scope link src 10.101.0.6
OpenVPN-клиент показывает IP 10.101.0.3, однако в выводе ipconfig /all такого IP нет.
Код: Выделить всё
> route print
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.100.1 192.168.100.3 50
10.99.0.0 255.255.0.0 10.101.0.1 169.254.141.170 257
10.100.0.0 255.255.0.0 10.101.0.1 169.254.141.170 257
10.101.0.0 255.255.255.0 10.101.0.1 169.254.141.170 257
94.26.226.174 255.255.255.255 192.168.100.1 192.168.100.3 306
127.0.0.0 255.0.0.0 On-link 127.0.0.1 331
127.0.0.1 255.255.255.255 On-link 127.0.0.1 331
127.255.255.255 255.255.255.255 On-link 127.0.0.1 331
169.254.0.0 255.255.0.0 On-link 169.254.141.170 257
169.254.141.170 255.255.255.255 On-link 169.254.141.170 257
169.254.255.255 255.255.255.255 On-link 169.254.141.170 257
192.168.56.0 255.255.255.0 On-link 192.168.56.1 281
192.168.56.1 255.255.255.255 On-link 192.168.56.1 281
192.168.56.255 255.255.255.255 On-link 192.168.56.1 281
192.168.100.0 255.255.255.0 On-link 192.168.100.3 306
192.168.100.3 255.255.255.255 On-link 192.168.100.3 306
192.168.100.255 255.255.255.255 On-link 192.168.100.3 306
224.0.0.0 240.0.0.0 On-link 127.0.0.1 331
224.0.0.0 240.0.0.0 On-link 192.168.56.1 281
224.0.0.0 240.0.0.0 On-link 169.254.141.170 257
224.0.0.0 240.0.0.0 On-link 192.168.100.3 306
255.255.255.255 255.255.255.255 On-link 127.0.0.1 331
255.255.255.255 255.255.255.255 On-link 192.168.56.1 281
255.255.255.255 255.255.255.255 On-link 169.254.141.170 257
255.255.255.255 255.255.255.255 On-link 192.168.100.3 306
===========================================================================
Постоянные маршруты:
Отсутствует
Гипервизоры пингуют друг друга, однако не пингуют виндовый клиент, который не пингует вообще никого из них.
Сами вопросы:
1. Откуда вообще взялся адрес 10.101.0.2?
2. Почему виндовый клиент не видит, по сути, вообще ничего?
3. Как все это настроить, чтобы заработало?
P.S. iptables:
Код: Выделить всё
Infra:~# iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 10222 -j DNAT --to-destination 10.100.10.2:22
-A PREROUTING -i eth0 -p tcp -m tcp --dport 10280 -j DNAT --to-destination 10.100.10.2:80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5222 -j DNAT --to-destination 10.100.5.2:22
-A POSTROUTING -s 10.100.0.0/16 -o eth0 -j MASQUERADE
Код: Выделить всё
hyper# iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 20222 -j DNAT --to-destination 10.99.20.2:22
-A PREROUTING -i eth0 -p tcp -m tcp --dport 20280 -j DNAT --to-destination 10.99.20.2:80
-A POSTROUTING -s 10.99.0.0/16 -o eth0 -j MASQUERADE