Конфиг RT-N16:
PHP Code:
cat /opt/etc/openvpn/serverTAP.conf
dev tap0
tls-server
server-bridge 192.168.1.1 255.255.255.0 192.168.1.128 192.168.1.199
ifconfig-pool-persist /opt/etc/openvpn/ippTAP
client-config-dir /opt/etc/openvpn/ccd
dh /tmp/local/root/keys/dh1024.pem
ca /tmp/local/root/keys/ca.crt
cert /tmp/local/root/keys/server.crt
key /tmp/local/root/keys/server.key
#crl-verify /opt/etc/openvpn/home/keys/crl.pem
client-to-client
port 1196
proto tcp-server
comp-lzo yes
auth none
persist-tun
persist-key
verb 3
script-security 2
cipher AES-128-CBC
log /opt/var/log/openvpnTAP.log
status /opt/var/log/openvpn-statusTAP.log
Секция S20Openvpn, отвечающая за подъем бриджа:
PHP Code:
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up
brctl stp br0 on
Post-firewall, та часть, что про VPN:
PHP Code:
iptables -I FORWARD -i tap0 -j ACCEPT
iptables -I FORWARD -o tap0 -j ACCEPT
iptables -P FORWARD ACCEPT
iptables -I OUTPUT -o tap0 -j ACCEPT
iptables -I INPUT -p tcp --dport 1196 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i tap0 -j ACCEPT
+Настроен проброс портов через веб-морду
Конфиг сервера 2:
PHP Code:
cat /etc/openvpn/serverTCP.conf
dev tap0
tls-server
server-bridge 192.168.1.11 255.255.255.0 192.168.1.201 192.168.1.205
ifconfig-pool-persist /etc/openvpn/ippTAP
client-config-dir /etc/openvpn/ccd
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
#crl-verify /opt/etc/openvpn/home/keys/crl.pem
client-to-client
port 1196
proto tcp-server
#proto udp
comp-lzo yes
auth none
persist-tun
persist-key
verb 3
script-security 2
cipher AES-128-CBC
log /var/log/openvpnTAP.log
status /var/log/openvpn-statusTAP.log
Кусок скрипта отвечающего за подъем бриджа:
PHP Code:
brctl addbr br0
brctl addif br0 eth1
brctl stp br0 on
ifconfig tap0 0.0.0.0 promisc up
ifconfig eth1 0.0.0.0 promisc up
ifconfig br0 192.168.1.11 netmask 255.255.255.0 broadcast 192.168.1.255
/sbin/route add default gw 192.168.1.1
На этом сервере все разрешено:
PHP Code:
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Проблемный клиент на Debian:
PHP Code:
client
dev tap0
proto tcp
remote XXXX 80
resolv-retry infinite
nobind
script-security 3
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/.crt
key /etc/openvpn/.key
ns-cert-type server
cipher AES-128-CBC
comp-lzo yes
auth none
redirect-gateway
mute-replay-warnings
log /var/log/openvpn.log
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
В iptables вре разрешено по дефолту.
Беспроблемный клиент под W7:
PHP Code:
client
dev tap0
proto tcp
remote XXXX 80
resolv-retry infinite
nobind
script-security 2
persist-key
persist-tun
ca " ca.crt"
cert " .crt"
key " .key"
ns-cert-type server
cipher AES-128-CBC
comp-lzo yes
auth none
redirect-gateway
У меня есть стойкое ощущение, что дело в серверной стороне, а не в клиентской. Вчера провел другой эксперимент - к RTN-16 подключаюся 2 клиента WL500GPv2 с вообще одинаковыми настройками. Это 2 роутера клона, с т.з. настроект. Так вот, если их переключить на сервер под дебианом, то первый клиент стабильно работает, второй постоянно отваливается.
Сейчас еще сниму логи и тоже выложу, но там ничего интересного нет - перезапуск соединения по пинг-таймауту.
Спасибо!