Доброе...
Посмотрел много на эту тему и у всех все немного разное...
Не нашел ответа, либо не увидел...
Есть CentOS 6.6x64, стоит OpenVPN 2.3.5. Хочу весь трафик клиентов пустить через впн, шлюз своеобразный сделать.
Проверил на локальных машинах, все работало с таким конфигом впн:
port 1194
proto tcp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
server 10.68.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.68.1.0 255.255.255.0"
client-config-dir ccd
;route 10.68.0.0 255.255.255.0
route 10.68.3.0 255.255.255.0
route 10.68.4.0 255.255.255.0
route 10.68.5.0 255.255.255.0
route 10.68.6.0 255.255.255.0
route 10.68.7.0 255.255.255.0
route 10.68.8.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
;push "redirect-gateway def1"
keepalive 5 240
tls-server
tls-auth /etc/openvpn/keys/ta.key 0
tls-timeout 120
auth SHA512
cipher AES-256-CBC # AES
comp-lzo
status-version 2
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log-append /etc/openvpn/openvpn-tun.log
;crl-verify /etc/openvpn/keys/crl.pem
verb 3
mute 10
management localhost 7557
И такой настройкой iptables:
*nat
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -i tun0 -s 10.68.0.1/24 -j ACCEPT
-P FORWARD DROP
-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 1194 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
Решил все перенести на VDS/VPS.
Столкнулся с проблеvой, что клиент подключается, получает адрес и все, пингкует только сам сервер впн и адрес dvs внешний.
Пробовал разнsе варианты и по всей видимости запутался)
вот не много изменил iptables:
*nat
:PREROUTING ACCEPT [0:0].
:POSTROUTING ACCEPT [0:0].
:OUTPUT ACCEPT [0:0].
#-A POSTROUTING -s 10.68.0.0/24 -o venet0:0 -j MASQUERADE
-A POSTROUTING -o venet0:0 -j SNAT --to-source 37.*.*.181
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i tun0 -j ACCEPT
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -i tun0 -s 10.68.0.1/24 -j ACCEPT
-P FORWARD DROP
-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 1194 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A FORWARD -i tun0 -o venet0:0 -j ACCEPT
-A FORWARD -i venet0:0 -o tun0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
#-A FORWARD -i tun0 -o venet0:0 -j ACCEPT
#-A FORWARD -i venet0:0 -o tun0 -j ACCEPT
COMMIT
Результат тот же.
Вывод iptables -nvL -t nat выдает:
Chain PREROUTING (policy ACCEPT 373 packets, 65501 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 363 packets, 65069 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT all -- * venet0:0 0.0.0.0/0 0.0.0.0/0 to:37.*.*.181
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Вывод iptables -v -nL выдает:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
853 295K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1 28 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
1 52 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:1194
1 40 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 312 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with-icmp-host-prohibited
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
741 139K ACCEPT all -- tun0 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELA
TED,ESTABLISHED
0 0 ACCEPT all -- tun0 * 10.68.0.0/24 0.0.0.0/0 ctstate NEW
0 0 ACCEPT all -- tun0 venet0:0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- venet0:0 tun0 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-prohibited
Chain OUTPUT (policy ACCEPT 728 packets, 98004 bytes)
pkts bytes target prot opt in out source destination
Так понимаю, что просто не до конца пробрасывается все) или все не пробрасывается)
Подскажите пожалуйста.
Спасибо.