LINUX.ORG.RU
ФорумAdmin

Openvpn поднят, не пускает в сеть.

 ,


0

2

Суть: поднят сервер OpenVPN (Debian 6), настроен клиент (Win XP). Подключение проходит нормально, но!
С клиента сервер ВПН пингуется и по внутреннему айпи ВПНа (10.10.10.1) и по своему айпи в своей локальной сети (192.168.1.101). Дальше в сеть пинг не идет (192.168.1.105 например).
Пошарил по интернету, по ЛОРу, есть короткие фразы «это из-за iptables», но ничего конкретнее и подробнее не сказано. Помогите, плиз, разобраться с вопросами:

  • 1. Действительно ли дело в iptables?
  • 2. Если да, то как его настроить или отключить?
  • 3. Если настроить, то доступ к 192.168.1.105 должен быть по целой куче TCP-портов, так как это сервер 1С.


Последнее исправление: Lex_Liven (всего исправлений: 3)
Ответ на: комментарий от Pinkbyte
root@tlserver:~# sysctl net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 0
root@tlserver:~# iptables -vn -L
Chain INPUT (policy ACCEPT 10230 packets, 1601K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 10137 packets, 2299K bytes)
 pkts bytes target     prot opt in     out     source               destination         
root@tlserver:~# ip route
10.10.10.2 dev tun0  proto kernel  scope link  src 10.10.10.1 
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.101 
10.10.10.0/24 via 10.10.10.2 dev tun0 
default via 192.168.1.254 dev eth1 
Lex_Liven
() автор топика
Ответ на: комментарий от Lex_Liven
net.ipv4.conf.all.forwarding = 0

отключена передача пакетов между интерфейсами, вот трафик и не ходит.

Сделай:

sysctl -w net.ipv4.conf.all.forwarding=1

для начала. Учти что это только до перезагрузки - на постоянку этот параметр можно прописать в /etc/sysctl.conf

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

sysctl -w net.ipv4.conf.all.forwarding=1 прописал. перезапустил openvpn, переконнектился. теперь пинг 105-го дает такой результат: Ответ от 10.10.10.1: Заданный узел недоступен.

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

Значит еще надо сделать push «route 192.168.0.0 255.255.255.0» в конфиге openvpn, плюс iptables настроить, вроде так:

iptables -I FORWARD -i tun+ -o eth0 -j ACCEPT
iptables -I FORWARD -i eth0 -o thun+ -j ACCEPT
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

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

В конфиге прописано:

server 10.10.10.0 255.255.255.0 # vpn subnet
push «route 192.168.1.0 255.255.255.0»  #server

Сделал iptables FORWARD по вашему совету, исправив eth0 на eth1. Ответ от 10.10.10.1 тот же.

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

перезапустил сеть через /etc/init.d/networking restart потерял связь с машиной.

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

NAT не годится - 1С работает только напрямую. более того, к сервер должен быть доступ не только по ip, но и по hostname.

Еще варианты? Какие-то логи посмотреть может быть?

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

Интересно. Я приехал и ребутнул машину с ВПН-сервером, а затем повторил все действия - результат как будто не делал ничего - пинг не идет вообще.

Можно поподробнее, что значит «tun+» и «thun+» в данных командах? У меня интерфейсы зовутся eth1 и tun0.

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

Нет. Я посоветовал разрешить вообще передачу пакетов между двумя интерфейсами - без этого пакеты дропаются не доходя до файрвола(о чем говорит счетчик пакетов в FORWARD - он равен нулю)

Pinkbyte ★★★★★
()
Ответ на: комментарий от Lex_Liven

Во-первых, как уже сказали — forwarding включить.

Во-вторых, ты уверен, что сервер 1С знает, как дойти до 10.10.10.1? А его default знает?

Короче, смотреть маршрутизацию и брандмауэры на сервере, клиенте и всех промежуточных узлах.

PS. А вообще: «я тут пациенту пересадил сердце в полевых условиях, но кровь не доходит из печени в легкие, хотя в правое предсердие вроде попадает. Действительно ли дело в тромбозе вен? Если да, как растворить бляшки?»

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

Во-первых, как сказали, форвардинг я включил.
Во-вторых, при чем тут «сервер 1С знает, как дойти до 10.10.10.1», если у него задан айпи 192.168.1.105 и он вообще не пингуется по этому айпи?
Короче, этим и занимаюсь.
PS. А язвить вообще необязательно.

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

Во-вторых, при чем тут «сервер 1С знает, как дойти до 10.10.10.1?»

При том, что в ответ на echo-request сервер отправляет echo-reply по роутингу. А у тебя ни 1.105, ни 1.254 не знают, что 10/8 надо маршрутизировать не в default.

А язвить вообще необязательно.

Это толстый намек на неполное соответствие между квалификацией персонала и решаемой задачей.

baka-kun ★★★★★
()
Ответ на: комментарий от Lex_Liven

Схему той сети я уже давно стер. Но она немного похожа на вашу. Насчет «при чем тут „сервер 1С знает, как дойти до 10.10.10.1“», то это правда. Пусть даже пинг приходит на 1С сервер, он не может на него ответить, так как не знает маршрута до 10.10.10.1.

Так что инструкция такая:

1) проверяете cat /proc/sys/net/ipv4/ip_forward, должен быть 1
2) гляньте какой интерфейс у вас в конфиге сервера openvpn: tap или tun. Желательно выставить tap.
3) правила iptables (перепроверьте под свою схему, может чуток ошибся)

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -s 10.10.10.0/24 -d 192.168.0.0/24 -i tap+ -o eth0 -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -d 10.10.10.0/24 -i eth0 -o tap+ -j ACCEPT
4) проверить таблицу маршрутизации на 1С сервере. Для проверки можно добавить маршрут вручную. Я так понимаю 1С под виндой? Тогда

route add 10.10.10.0 mask 255.255.255.0 192.168.1.101 metric 2
massive
()
Ответ на: комментарий от baka-kun

При том, что в ответ на echo-request сервер отправляет echo-reply по роутингу. А у тебя ни 1.105, ни 1.254 не знают, что 10/8 надо маршрутизировать не в default.

Хорошо, как насчет подсказать, как прописать данный маршрут?

Это толстый намек на неполное соответствие между квалификацией персонала и решаемой задачей.

Квалификация имеет свойство повышаться при решении сложных задач. Если лично ваша цель - остаться единственным умным спецом, прошу прочь с ЛОРа. Потому что здесь люди не умом блещут, а помощи просят.

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

Блин, таки ошибся :)

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A FORWARD -s 10.10.10.0/24 -d 192.168.1.0/24 -i tap+ -o eth0 -j ACCEPT
-A FORWARD -s 192.168.1.0/24 -d 10.10.10.0/24 -i eth0 -o tap+ -j ACCEPT
А остальное вроде норм.

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

4) проверить таблицу маршрутизации на 1С сервере. Для проверки можно добавить маршрут вручную. Я так понимаю 1С под виндой? Тогда

нет, 1С сервер на убунте.

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

Ура, спасибо! Видать я сильно перегрелся, раз не сообразил что на пинг тоже надо знать, куда ответить :)

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