Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: iptables, openvpn  (Прочитано 1822 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
iptables, openvpn
« : 07 Декабря 2011, 21:21:26 »
Помогите пожалуйста. Есть 2 локальных сети, у каждой есть свой шлюз в интернет:
шлюз сети1:
eth1 - 1.1.1.1 - интернет,
eth0 - 192.168.0.1 - локальная сеть,
шлюз сети2:
eth1 - 2.2.2.2 - интернет,
eth0 - 192.168.1.1 - локальная сеть.
На каждом из шлюзов стоит базово-настроенный firestarter, занимающийся только раздачей интернета в локальную сеть и пробросом (открытием) некоторых портов. Нужно объединить эти сети посредством openvpn, так чтобы при обращении из сети 1 к локальному адресу из сети 2 (и наоборот) данные ходили правильно.

На шлюз сети 1 установлен openvpn server с таким конфигом /etc/openvpn/server.conf:

port 1194
proto udp
dev tun   
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.0.0 255.255.255.0"
route 192.168.1.0 255.255.255.0
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append  openvpn.log
client-config-dir /etc/openvpn/ccd

В папке /etc/openvpn/ccd создан файл client1 с таким содержимым:

iroute 192.168.1.0 255.255.255.0
push "192.168.0.0 255.255.255.0"

На шлюз сети 2 установлен openvpn client с таким конфигом /etc/openvpn/client.conf:

remote 1.1.1.1 1194
client
dev tun
proto udp
nobind
user nobody
group nogroup
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client1.crt
key /etc/openvpn/client1.key
comp-lzo
verb 4
mute 20

Ключи и сертификаты сгенерированы и подложены по нужным папкам.
Туннель поднимается, шлюзы видят друг друга, с клиентского шлюза даже пингуются компьютеры из сети 1, но компьютеры сети1 не видят компьютеров из сети 2 и наоборот.
Загвоздка, я так понимаю в отсутствии правил nat в обоих firestarter-ах для правильной обработки пакетов, предназначенных для "неродных" сетей (для сети1 - пакеты 192.168.1.0, для сети2 - пакеты 192.168.0.0).
Гугление привело к http://forums.openvpn.net/topic7762.html#p10387, откуда были подчерпнуты строки:

iptables -A INPUT -p udp --dport 1194 -j ACCEPT

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
 
но безрезультатно(( Хелп!


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #1 : 07 Декабря 2011, 21:31:19 »
Показывайте sysctl net.ipv4.ip_forward И зачем Вам nat, если роутите обе сети?

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #2 : 07 Декабря 2011, 21:42:09 »
sysctl net.ipv4.ip_forward = 1, это выставляется firestarter сразу после установки, nat - насколько я понимаю именно он осуществляет подмену адресов на шлюзе, чтобы пакеты от 192.168.0.2, например, пошли через 1.1.1.1 к ,например, ya.ru и вернулись через 1.1.1.1 на 192.168.0.2 обратно а не на 192.168.0.3, например.

Оффлайн censor

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #3 : 07 Декабря 2011, 21:55:52 »
sysctl net.ipv4.ip_forward = 1, это выставляется firestarter сразу после установки, nat - насколько я понимаю именно он осуществляет подмену адресов на шлюзе, чтобы пакеты от 192.168.0.2, например, пошли через 1.1.1.1 к ,например, ya.ru и вернулись через 1.1.1.1 на 192.168.0.2 обратно а не на 192.168.0.3, например.
nat нужен для подмены адреса источника пакета, вам это не надо, вам надо смаршрутизировать 2 сети.
вывод ip route show с обоих серверов загони в спойлер

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #4 : 07 Декабря 2011, 22:09:21 »
шлюз сети 1

ip route show
(Нажмите, чтобы показать/скрыть)
шлюз сети 2

ip route show
(Нажмите, чтобы показать/скрыть)
переустановил фаерстартеры - теперь при попытке пинать шлюзы друг друга - ping: sendmsg: Operation not permitted
« Последнее редактирование: 07 Декабря 2011, 22:12:00 от galaxer »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #5 : 07 Декабря 2011, 22:32:41 »
ох уж эти огненные стартёры....
Может давайте глянем, что они Вам там нажгли?
sudo iptables-saveи так же под спойлеры

P.S. правда, помню они там такой "колхоз" строят... что разобраться будет сложно..

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #6 : 07 Декабря 2011, 22:46:59 »
посносил я эти фаерстартеры, снес затем и iptables, которые они с собой установили, перезагрузился, поставил iptables заново (без фаерстартеров), добавил обоим шлюзам echo 1 > /proc/sys/net/ipv4/ip_forward,
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE,

после этого туннель попрежнему жив, шлюзы пинают друг друга в виртуальной сети, но ни шлюз1 не видит сети шлюза2, ни шлюз2 не видит сети шлюза1.

iptables-save шлюза1:

(Нажмите, чтобы показать/скрыть)

шлюза2:

(Нажмите, чтобы показать/скрыть)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #7 : 07 Декабря 2011, 23:08:05 »
таблицу маршрутизации одного из непингующихся клиентов сети можно тоже посмотреть?

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #8 : 07 Декабря 2011, 23:13:05 »
на 192.168.1.2
ip route show
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.2  metric 1
default via 192.168.1.1 dev eth0  proto static

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #9 : 07 Декабря 2011, 23:37:21 »
попробуйте серверу добавить в конфиг
route 10.10.10.0 255.255.255.0

Оффлайн usefree

  • Автор темы
  • Любитель
  • *
  • Сообщений: 94
    • Просмотр профиля
Re: iptables, openvpn
« Ответ #10 : 08 Декабря 2011, 17:58:51 »
спасибо большое, тему можно закрывать. Решение черпанул тут https://forum.ubuntu.ru/index.php?topic=75483.0. Там и про фаер и про впн рабочий пример.

 

Страница сгенерирована за 0.032 секунд. Запросов: 22.