Друзья, вот уже 4 часа не могу настроить openvpn bridge между двумя сетями. Столкнулся с ним впервые, вот пытаюсь освоить. Мозг уже не работает.
Дано 2 шлюза на centos 6.5
1 шлюз: Openvpn server eth0 - 111.111.111.27 (WAN) eth1 - 192.168.0.1 (LAN)
2 шлюз: Openvpn client eth0 - 222.222.222.4 (WAN) eth1 - 192.168.1.1 (LAN)
Пытаюсь настроить бридж, что бы устройства в локальных сетях по обе стороны могли видеть друг друга.
Установил openvpn, easy-rsa, создал сертификаты.
Содержание server.conf на 1 шлюзе:
local 111.111.111.27
port 1194
proto udp
dev tap0
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
ifconfig-pool-persist ipp.txt
tls-auth /etc/openvpn/keys/ta.key 0
server-bridge 192.168.0.1 255.255.0.0 192.168.0.100 192.168.0.255
#push "route 192.168.1.0 255.255.0.0 192.168.0.1"
keepalive 10 60
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
;status openvpn-status.log
;log openvpn.log
;log-append openvpn.log
verb 3
mute 20
Содержание client.conf на 2 шлюзе:
client
dev tap0
proto udp
remote 111.111.111.27
port 1194
#pull
resolv-retry infinite
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client2.crt
key /etc/openvpn/keys/client2.key
tls-client
tls-auth /etc/openvpn/keys/ta.key 1
cipher BF-CBC
remote-cert-tls server
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3
mute 20
Кусок скрипта, взятый с openvpn.net для создания моста на шлюзе 1:
# Define Bridge Interface
br="br0"
# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"
# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth1"
eth_ip="192.168.0.1"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.0.255"
Кусок скрипта, взятый с openvpn.net для создания моста на шлюзе 2:
# Define Bridge Interface
br="br0"
# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"
# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth1"
eth_ip="192.168.1.1"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.0.255"
iptables на 1 шлюзе:
# Generated by iptables-save v1.4.7 on Mon Apr 28 02:09:56 2014
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [2:249]
:OUTPUT ACCEPT [2:249]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j ACCEPT
COMMIT
# Completed on Mon Apr 28 02:09:56 2014
# Generated by iptables-save v1.4.7 on Mon Apr 28 02:09:56 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [30:2729]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i tap0 -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A FORWARD -i br0 -j ACCEPT
#-A FORWARD -i eth1 -o br0 -j ACCEPT
#-A FORWARD -i br0 -o eth1 -j ACCEPT
COMMIT
# Completed on Mon Apr 28 02:09:56 2014
iptables на 2 шлюзе:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*nat
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
#
COMMIT
#
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i tap0 -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A FORWARD -i br0 -j ACCEPT
COMMIT
ip ro на 1 шлюзе, после запуска openvpn:
# ip ro
111.111.111.24/29 dev eth0 proto kernel scope link src 111.111.111.27
192.168.0.0/24 dev br0 proto kernel scope link src 192.168.0.1
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.0.0/16 dev eth0 proto kernel scope link src 192.168.0.1
default via 111.111.111.25 dev eth0
ip ro на 2 шлюзе, после запуска openvpn:
ip ro
222.222.222.0/29 dev eth0 proto kernel scope link src 222.222.222.4
192.168.1.0/24 dev br0 proto kernel scope link src 192.168.1.1
169.254.0.0/16 dev eth0 scope link metric 1003
192.168.0.0/16 dev tap0 proto kernel scope link src 192.168.0.100
default via 222.222.222.1 dev eth0
Собственно, соединение устанавливается, но пинги не идут вообще никуда, ни в первую, ни во вторую сеть. Уверен, что проблема в маршрутах, но не могу понять, где. Голова не соображает уже. Наведите на верное направление-)