Автор Тема: Помощ за iptables & OpenVPN  (Прочетена 835 пъти)

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Помощ за iptables & OpenVPN
« -: Nov 24, 2010, 21:11 »
Привет,

Имам следната ситуация:
рутер, който освен да рутира нета, отскоро работи и катo VPN сървър (става дума за OpenVPN). Интерфейсите на машината са както следва:
eth0 192.168.0.1 255.255.255.0 е вътрешната мрежа
eth1 192.168.1.2 255.255.255.0 е интернета (с такъв адрес е, защото в момента получава нет през БТК АДСЛ)

Настроил съм OpenVPN да бъде в 192.168.2.0 255.255.255.0 мрежа (192.168.2.1 е адреса на сървъра, примерно за конкретен клиент адреса е 192.168.2.7).

Във вътрешната мрежа зад рутера работи веб сървър на адрес 192.168.0.10. Целта ми е клиентите на ВПН-а да имат достъп до него.

В момента скрипта, който рутира нета на вътрешната мрежа е съвсем елементарен и изглежда така:
Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. export LAN=eth0
  4. export WAN=eth1
  5.  
  6. iptables -F
  7. iptables -t nat -F
  8. iptables -t mangle -F
  9. iptables -X
  10.  
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD DROP
  14.  
  15. iptables -A INPUT -i ${LAN} -j ACCEPT
  16. iptables -A INPUT -i lo -j ACCEPT
  17.  
  18. iptables -A INPUT -p tcp --dport ssh -i ${WAN} -j ACCEPT
  19.  
  20. iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.255.0 -j DROP
  21. iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.255.0 -j ACCEPT
  22. iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.255.0 -j ACCEPT
  23.  
  24. iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
  25.  

Умишлено съм махнал правилата, с които съм се мъчил да насоча ВПН клиентите към 192.168.0.10, защото не съм компетентен по темата и надали ще са от полза на някого.
« Последна редакция: Nov 25, 2010, 11:36 от VladSun »
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Помощ за iptables & OpenVPN
« Отговор #1 -: Nov 24, 2010, 22:51 »
Цитат
#!/bin/sh
EXTERNAL1=eth1          # connected to Vivacom

INTERNAL1=eth0          # connected to a local net.

PRIVATE1=192.168.0.1

VPN1=192.168.2.0

iptables -I FORWARD -i $INTERNAL1 -s $PRIVATE1 -o tun0 -d $VPN1 -j ACCEPT
iptables -I FORWARD -o $INTERNAL1 -d $PRIVATE1 -i tun0 -s $VPN1 -j ACCEPT
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: Помощ за iptables & OpenVPN
« Отговор #2 -: Nov 25, 2010, 07:14 »
Цитат
#!/bin/sh
EXTERNAL1=eth1          # connected to Vivacom

INTERNAL1=eth0          # connected to a local net.

PRIVATE1=192.168.0.1

VPN1=192.168.2.0

iptables -I FORWARD -i $INTERNAL1 -s $PRIVATE1 -o tun0 -d $VPN1 -j ACCEPT
iptables -I FORWARD -o $INTERNAL1 -d $PRIVATE1 -i tun0 -s $VPN1 -j ACCEPT

Каква точно е идеята на тези две правила? Ако се ориентирам правилно, трафикът идващ на eth0 от вътрешната мрежа, и е предназначен да излезе пред tun0 и мрежата на ВПНа, да се приеме. Както и обратното (с второто правило).  Ако е така по какъв начин следва ВПН клиентите да стигнат до сървъра, който е на 192.168.0.10? Според мен директно чрез адреса 192.168.0.10 няма как да стане, защото няма правило на хоста на клиента, което да рутира 192.168.0/24 мрежата......
Опитах да добавя такова правило на един клиент на ВПН-а:
Код:
route add 192.168.0.10 gw 192.168.2.1
но без успех - явно нещо не разбирам:
Код:
tracepath 192.168.0.10
 1:  192.168.2.7                                           0.165ms pmtu 1500
 1:  192.168.2.1                                          46.189ms
 1:  192.168.2.1                                          45.218ms
 2:  no reply
 3:  no reply
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Re: Помощ за iptables & OpenVPN
« Отговор #3 -: Nov 25, 2010, 09:10 »
В конфиг файла на OpenVPN на сървъра:
Цитат
#Това се изпраща на клиентите да си го вмъкнат в рутинг таблицата
push "route 192.168.0.0 255.255.255.0"
# Our up script will establish routes
# once the VPN is alive.
up /път-до-файла/рутиране.up
Във файла рутиране.up :
Цитат
#!/bin/bash
route add -net 192.168.2.0 netmask 255.255.255.0 gw $5
За сървъра, дето е на 10, предполагам, че за default gw му е зададен 192.168.0.1 .
!!! Дето съм писал по-горе "PRIVATE1=192.168.0.1" трябва да е "PRIVATE1=192.168.0.0/24", а "VPN1=192.168.2.0" трябва да е "VPN1=192.168.2.0/24" !!!
« Последна редакция: Nov 25, 2010, 09:15 от laskov »
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: Помощ за iptables & OpenVPN
« Отговор #4 -: Nov 25, 2010, 13:35 »
!!! Дето съм писал по-горе "PRIVATE1=192.168.0.1" трябва да е "PRIVATE1=192.168.0.0/24", а "VPN1=192.168.2.0" трябва да е "VPN1=192.168.2.0/24" !!!
Това го бях съобразил и аз, но мерси за корекцията все пак.

В конфиг файла на OpenVPN на сървъра:
Цитат
#Това се изпраща на клиентите да си го вмъкнат в рутинг таблицата
push "route 192.168.0.0 255.255.255.0"
# Our up script will establish routes
# once the VPN is alive.
up /път-до-файла/рутиране.up
Във файла рутиране.up :
Цитат
#!/bin/bash
route add -net 192.168.2.0 netmask 255.255.255.0 gw $5
Това всъщност направи магията и вече работи.

Благодарско laskov, имаш  [_]3 [_]3 [_]3 от мен
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Eдно питане за openvpn
Настройка на програми
abadon 4 4929 Последна публикация Nov 10, 2008, 09:58
от plamen_f
OpenVPN
Настройка на програми
Archer 5 3075 Последна публикация Nov 10, 2008, 23:53
от laskov
OpenVPN въпрос
Настройка на програми
Vcepelin 4 2581 Последна публикация Jan 28, 2009, 17:35
от Vcepelin
Въпрос за OpenVPN ?
Настройка на програми
martinhr 10 4206 Последна публикация Apr 28, 2009, 16:58
от martinhr
Въпроси относно OpenVPN
Настройка на програми
viktor_smk 7 4178 Последна публикация Jun 26, 2009, 10:53
от viktor_smk