LINUX.ORG.RU
решено ФорумAdmin

Проблема с пробросом порта во внутрь OpenVPN

 , , ,


0

1

Доброе...

Нужно сделать так: я обращаюсь к ip_инет:80 он меня перенаправляет на 10.1.1.6:8080

Проблем в том, что именно во внутрь openvpn и не пускает.

Если делаю без впн, работает:

-A POSTROUTING -s 10.1.1.1/24 -j MASQUERADE.
-A PREROUTING -d 100.100.100.100 -p tcp -m tcp --dport 80 -j DNAT --to-destination 222.222.222.222:8080
-A POSTROUTING -p tcp -d 222.222.222.222 --dport 8080 -j SNAT --to-source 100.100.100.100
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE

Если меняю адрес принимающей стороны на адрес впнКлиента - то не работает:

-A POSTROUTING -s 10.1.1.1/24 -j MASQUERADE.
-A PREROUTING -d 100.100.100.100 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.1.6:8080
-A POSTROUTING -p tcp -d 10.1.1.6 --dport 8080 -j SNAT --to-source 100.100.100.100
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE

На клиенте разрешил этот порт

пробовал на сервере 100.100.100.100 - tcpdump host 10.1.1.6 - ничего нет

tcpdump host 10.1.1.1 - то же ничего нет, ну пока не начну его пинговать с 10.1.1.6

Что я забыл разрешить? То есть он даже не перенаправляет в впн, а стоит поменять на внешний адрес другого сервера, все сразу работает.

CentOS 6.6 - iptables)

Спасибо.

Я еще не ковырял нормально, но периодически клиенты слетают пока с него не пинганешь сервер. А клиент-клиент работает

minakov ★★★★★
()

На сервере 222.222.222.222 прописал -A FORWARD -p tcp -d 10.1.1.6 --dport 8080 -j ACCEPT

и на 111.111.111.111 tcpdump -i tun0 выдал:

03:54:46.906318 IP vps51.host.com.49320 > 10.1.1.6.8080: Flags [S], seq 3877270114, win 8192, options [mss 1440,nop,wscale 2,nop,nop,sackOK], length 0

А на сервере 222.222.222.222 tcpdump -i tun0 выдал:

11:57:45.161638 IP 111.111.111.111.49785 > 10.1.1.6.8080: Flags [S], seq 3657928257, win 8192, options [mss 1306,nop,wscale 2,nop,nop,sackOK], length 0

но перенаправление не сработало пока )

firefedot
() автор топика

На OpenVPN-клиенте OpenVPN — маршрут по умолчанию? Если нет, то нужно маршруты настроить, а то скорее всего принимающая сторона пытается отправить ответ по маршруту по умолчанию, а не через OpenVPN.

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

пробовал ставить его, точней он стоит, но в данном случае тоже не пробрасывает.

С других адресов пробрасывает. а тут - нет

firefedot
() автор топика
Ответ на: комментарий от te111011010

м, попробую на клиенте поставить маршрут на впн

firefedot
() автор топика

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

Может что не так прописал

port 1194
local 111.111.111.111
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.2.0 255.255.255.0

ifconfig-pool-persist ipp.txt

client-config-dir /etc/openvpn/ccd
push "route 10.68.0.0 255.255.255.0"

push "route-gateway 10.68.2.1"

keepalive 5 240
client-to-client
tls-server
tls-auth /etc/openvpn/keys/ta.key 0
tls-timeout 120

duplicate-cn

auth SHA512

cipher AES-256-CBC   # AES

comp-lzo

status-version 2

user nobody
group nobody

persist-key
persist-tun

status openvpn-status.log

verb 3

mute 10
management localhost 7557
firefedot
() автор топика
Ответ на: Конфиг сервера от firefedot

Есди добавляю push «redirect-gateway def1» то все работает. но при этом весь трафик с 222.222.222.222 идет через впн, а просто добавить маршрут не могу, точней он добавляется, но толку пока нет....

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

Вот что в логах, то есть маршрут не устанавливается на клиенте

Fri Mar 27 19:45:03 2015 /sbin/route add -net 10.68.0.0 netmask 255.255.255.0 gw 10.68.0.1
SIOCADDRT: Network is unreachable

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

В общем дело получается в маршруте....

Если делай маршрут default впна. то все работает, но если оставить маршрут по-умолчанию как и был - не работает)

А руками прописать не дает , выдает ошибку, что сеть не доступна

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

Решено )

Поправил правило в iptables на первом сервере

-A PREROUTING -d 111.111.111.111 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.68.0.6:8060
-A POSTROUTING -p tcp -d 10.68.0.6 --dport 8060 -j SNAT --to-source 10.68.0.1
firefedot
() автор топика
4 января 2016 г.
Ответ на: Решено ) от firefedot

Обобщение)

На сервере 111

*nat
-A PREROUTING -d 111.111.111.111 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.68.0.6:8060
-A POSTROUTING -p tcp -d 10.68.0.6 --dport 8060 -j SNAT --to-source 10.68.0.1
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
COMMIT

*filter
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8060 -j ACCEPT

на клиента 222

*filter
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8060 -j ACCEPT
-A FORWARD -p tcp -d 10.68.0.6 --dport 8060 -j ACCEPT

*nat
:PREROUTING ACCEPT [46:4899]
:POSTROUTING ACCEPT [58:5145]
:OUTPUT ACCEPT [58:5145]
-A PREROUTING -d 10.68.0.6 -p tcp -m tcp --dport 8060 -j DNAT --to-destination 10.15.0.1:39635
-A POSTROUTING -m mark --mark 0x9 -j MASQUERADE
COMMIT

firefedot
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.