OpenVPN+FedoraCore

Есть и такой ОС.

Модератор: weec

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-02-05 23:38:33

Коллеги, есть проблема небольшая.
Есть сервер на кот. стоит FreeBSD и на кот. установлен OpenVPN сервер (ставил по статье http://www.lissyara.su/articles/freebsd ... n+pkcs-12/).
  • Сервер FreeBSD:
Net: 192.168.0.0/24
IP: 192.168.0.1(он же основной гейт)
IP OpenVPN: 10.10.10.1

Код: Выделить всё

ifconfig
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
        inet 10.10.10.1 --> 10.10.10.2 netmask 0xffffffff
        Opened by PID 9072
Роуты:

Код: Выделить всё

 netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            212.16.7.161       UGS         0  6117347   bge1
10.10.10/30        10.10.10.2         UGS         0        0   tun0 =>
10.10.10/24        10.10.10.2         UGS         0        3   tun0
10.10.10.2         10.10.10.1         UH          4    29077   tun0
127.0.0.1          127.0.0.1          UH          0  1779014    lo0
172.16/24          10.10.10.2         UGS         0   564259   tun0
192.168.0          link#1             UC          0        0   bge0
........................................................................
192.168.1          10.10.10.2         UGS         0    24850   tun0
Настройки OpenVPN аналогичные как в статье:
Филиал 1

Код: Выделить всё

ifconfig-push 10.10.10.2 10.10.10.1
iroute 192.168.1.0 255.255.255.0
Филиал 2

Код: Выделить всё

ifconfig-push 10.10.10.6 10.10.10.5
iroute 192.168.1.0 255.255.255.0
Есть 2 удалённых филиала.
  • 1.Филиал FreeBSD:
Net: 172.16.0.0/24
IP: 172.16.0.1(он же основной гейт)
IP OpenVPN: 10.10.10.2
Проблем нет никаких. Из 192.16.0.0/24 в 172.16.0.0/24 пинги,трасы туда и обратно худють )))
  • 2.Филиал FedoraCore
Net: 192.168.1.0/24
IP: 192.168.1.121
Gate: 192.166.1.1
IP OpenVPN: 10.10.10.6
Вот тут проблема.
На сам сервер(192.168.1.121) пинги-трасы ходят туда и обратно из всех сетей(192.16.0.0/24 172.16.0.0/24), а вот дальше этого сервера никак(((
На гейте(192.168.1.1) роуты прописаны:

Код: Выделить всё

route add 192.168.0.0/24 192.168.1.121
но вот ни пинги ни трасы никак ((( из 192.168.1.0/24 в 192.168.0.0/24 и 172.16.0.0/24 не бегают

Код: Выделить всё

uname -a
Linux keygen 2.6.34.7-66.fc13.i686 #1 SMP Wed Dec 15 07:40:25 UTC 2010 i686 i686 i386 GNU/Linux
Фейсы сервера Филиал 2:

Код: Выделить всё

ifconfig
eth1      Link encap:Ethernet  HWaddr 00:E2:8C:50:1F:DC
          inet addr:192.168.1.121  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2e2:8cff:fe50:1fdc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:467568 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33280 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:41833139 (39.8 MiB)  TX bytes:3312383 (3.1 MiB)
          Interrupt:16 Base address:0xc00
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.10.10.6  P-t-P:10.10.10.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:26239 errors:0 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:1696605 (1.6 MiB)  TX bytes:8101 (7.9 KiB)
и таблица роутов

Код: Выделить всё

netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.10.5      *               255.255.255.255 UH        0 0          0 tun0
192.168.4.0     10.10.10.5      255.255.255.224 UG        0 0          0 tun0
172.16.0.0      10.10.10.5      255.255.255.0   UG        0 0          0 tun0
192.168.1.0     *               255.255.255.0   U         0 0          0 eth1
192.168.0.0     10.10.10.5      255.255.255.0   UG        0 0          0 tun0
10.10.10.0      10.10.10.5      255.255.255.0   UG        0 0          0 tun0
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth1
В чём может быть проблема??? Уже все мозги поломал в поисках граблей :st:

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение blade_007 » 2011-02-06 21:53:29

ip_forward включен?

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-02-06 23:31:39

blade_007 писал(а):ip_forward включен?
вот Григорий я :bn:

Код: Выделить всё

sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
Всё поправил,

Код: Выделить всё

# nano /etc/sysctl.conf:
net.ipv4.ip_forward = 1
# sysctl -p
засим прошу закрыть тему. СПС - заработался :drinks:

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-03 17:36:26

Лиха беда начало.
Моим программерам мало (((( Им не просто теперь VPN подавай ((( TCP-пакеты бегают, а вот UDP не возвращаются :st:
От удалённых машин 192.168.1.0/24 рубятся на IP, полученном DHCP OpenVPN на интерфейсе tun0, 10.10.10.6.
Где могут быть грабли?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: OpenVPN+FedoraCore

Непрочитанное сообщение hizel » 2011-03-03 17:52:21

фаерволе
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-03 17:59:51

Не, ну интуитивно я понимаю, что трабла в iptables )))
Уточняю:
От удалённых машин 192.168.1.0/24 рубятся на default route 192.168.1.1. И никак не хотят форвардиться на VPN сеть (((
На BSD знаю как, но тут Федора, не сильно в ней силён :drinks:
Прописал

Код: Выделить всё

-A POSTROUTING -o tun+ -j MASQUERADE
но всё там же (

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-03 18:59:36

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

Код: Выделить всё

cat iptables
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth+ -j MASQUERADE
-A POSTROUTING -o ppp+ -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
#-A POSTROUTING -0 tun+ -p all -j SNAT --to--source 192.168.0.1-192.168.0.254
-A PREROUTING -i eth0 -p tcp --dport 5555 -j DNAT --to-destination 192.168.1.43:5555
-A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to-destination 192.168.1.44:8081
-A PREROUTING -i eth0 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.44
-A PREROUTING -i eth0 -p udp --dport 21 -j DNAT --to-destination 192.168.1.44
-A PREROUTING -i eth0 -p tcp --dport 20 -j DNAT --to-destination 192.168.1.44
-A PREROUTING -i eth0 -p udp --dport 20 -j DNAT --to-destination 192.168.1.44
-A PREROUTING -i eth1 -p tcp --dport 5555 -j DNAT --to-destination 192.168.1.43:5555
-A PREROUTING -i eth1 -p tcp --dport 8081 -j DNAT --to-destination 192.168.1.44:8081
-A PREROUTING -i tun0 -p udp -s 192.168.0.0/24 -j ACCEPT
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -p ah -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 500 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50000:51000 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5555 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -o eth+ -j ACCEPT
-A FORWARD -o ppp+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.43 --dport 5555 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.44 --dport 8081 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.44 --dport 21 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m udp -p udp -d 192.168.1.44 --dport 21 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 192.168.1.44 --dport 20 -j ACCEPT
-A FORWARD -i eth0 -m state --state NEW -m udp -p udp -d 192.168.1.44 --dport 20 -j ACCEPT
-A FORWARD -i eth1 -m state --state NEW -m tcp -p tcp -d 192.168.1.43 --dport 5555 -j ACCEPT
-A FORWARD -i eth1 -m state --state NEW -m tcp -p tcp -d 192.168.1.44 --dport 8081 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение blade_007 » 2011-03-03 20:55:15

Вот эти правила одновременно не работают. Добавьте условий, чтоб их различить.

Код: Выделить всё

-A POSTROUTING -o eth+ -j MASQUERADE
-A POSTROUTING -o ppp+ -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
Я не совсем четко понял вашу задачу. Можно немного пояснить?

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-04 18:34:19

blade_007 писал(а):Вот эти правила одновременно не работают. Добавьте условий, чтоб их различить.

Код: Выделить всё

-A POSTROUTING -o eth+ -j MASQUERADE
-A POSTROUTING -o ppp+ -j MASQUERADE
-A POSTROUTING -o tun+ -j MASQUERADE
Я не совсем четко понял вашу задачу. Можно немного пояснить?
Глупо спрашивать, но как добавить условия? например?

Есть удалённый офис с машинкой Fedora. У которой 2 фейса:
eth0: xxx.xxx.xxx.xxx
eth1: 192.168.1.1
Она же основной гейт сети 192.168.1.0/24.
На этой машинке поднят OpenVPN клиент:
tun0: 10.10.10.6

Все TCP-запросы из основного офиса (192.168.0.0/24) проходят через OpenVPN сервер и попадают на 192.168.0.x -> ... -> 10.10.10.6 -> 192.168.1.x , а затем возвращаются в обратном порядке 192.168.1.x -> 10.10.10.6 -> ... -> 192.168.0.x.
Проблема начинается в том случае, когда отсылается UDP пакет. Снифером было установлено, что пакет из удалённой машинке форвардится на свой же default route удалённого офиса, что есть нормально )))) но вот он никак не попадает в tun0 (((

Закомментил первый 2 правила:

Код: Выделить всё

-A POSTROUTING -o eth+ -j MASQUERADE
-A POSTROUTING -o ppp+ -j MASQUERADE
Всё заработало, но у народа в удалённом офисе отвалился интет (((( :st:

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение blade_007 » 2011-03-04 18:57:58

Условий - здесь имелось ввиду
-A POSTROUTING -s SOME_LAN or -d SOME_LAN2 -o eth+ -j MASQUERADE

udp-пакет доходит до филиала? а обратно не возвращается?

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-04 19:13:29

blade_007 писал(а):Условий - здесь имелось ввиду
-A POSTROUTING -s SOME_LAN or -d SOME_LAN2 -o eth+ -j MASQUERADE
Скажем так подойдёт:

Код: Выделить всё

-A POSTROUTING -s 192.168.1.1-192.168.1.254 -o eth+ -j MASQUERADE
-A POSTROUTING -s 192.168.1.1-192.168.1.254 -o ppp+ -j MASQUERADE
-A POSTROUTING -d 192.168.0.1-192.168.0.254 -o tun+ -j MASQUERADE
blade_007 писал(а):udp-пакет доходит до филиала? а обратно не возвращается?
угумс

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение blade_007 » 2011-03-04 19:18:32

-A POSTROUTING -s 192.168.1.0/24 -o eth+ -j MASQUERADE
iptables просматривает правила по очереди и до второго не дойдет, если адрес узла отправителя из подсети 192.168.1.0/24

Аватара пользователя
Jan
мл. сержант
Сообщения: 118
Зарегистрирован: 2007-11-07 16:44:21
Откуда: Москва
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение Jan » 2011-03-04 19:27:15

blade_007 писал(а):-A POSTROUTING -s 192.168.1.0/24 -o eth+ -j MASQUERADE
iptables просматривает правила по очереди и до второго не дойдет, если адрес узла отправителя из подсети 192.168.1.0/24
сенкс, но третье правило выполнит?;)

blade_007
ст. прапорщик
Сообщения: 571
Зарегистрирован: 2010-03-12 12:59:08
Контактная информация:

Re: OpenVPN+FedoraCore

Непрочитанное сообщение blade_007 » 2011-03-04 21:07:30

Если есть возможность - откройте фаервол для всех пакетов в цепочках INPUT и FORWARD (поочередно, конечно). Еще объясните зачем вот эти правила?

Код: Выделить всё

-A FORWARD -o eth+ -j ACCEPT
-A FORWARD -o ppp+ -j ACCEPT
-A FORWARD -o tun+ -j ACCEPT