Страница 1 из 1
режет VPN:(
Добавлено: 2009-08-24 10:58:36
XairOn
Здрасьте всем:)
Возникла такая проблема:
решил заменить аппаратный шлюз на старенький комп (166 пентиум:)) с фрёй, удалось кстати поднять 7.2:)
Так вот, задача компа подсоединяться к провайдеру по pppoe и раздавать нет дальше, поскольку возникло подозрение, что старый аппаратный dlink, режет по крайней мере ftp соединения:(
Реализовал через ipfw, nat и mpd.
В интернет пускает, но вот запросы по vpn исходящие все режет. Причём из вне подключиться удаётся.
То есть, через аппаратный dlink vpn соединения в обе стороны работали, а через фрю не хотят:(
Конфиг rc.config:
Код: Выделить всё
defaultrouter="IP - роутера"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
gateway_enable="YES"
hostname="Slyusik"
ifconfig_rl1="inet ip.ip.ip.ip/24" # внешний постоянный ip адрес
ifconfig_rl0="inet 192.168.0.1/24"#внутренний как угодно меняемый:)
inetd_enable="YES"
keymap="ru.koi8-r"
moused_type="NONE"
moused_enable="NO"
scrnmap="koi8-r2cp866"
sendmail_enable="NONE"
#ftpd_enable="YES"
sshd_enable="YES"
firewall_enable="YES"
firewall_script="/var/firewall/firewall.sh"
mpd_enable="YES"
mpd_flags="-b"
конфиг ipfw:
Код: Выделить всё
natd -f /var/firewall/natd.conf -n rl1 -m
ipfw="/sbin/ipfw"
if_in="rl0"
if_out="rl1"
ip_out="ip.ip.ip.ip/24"
net_in="192.168.0.0/24"
ip_in="192.168.0.1/24"
${ipfw} -f flush
${ipfw} add divert natd ip from any to any via rl1 #В ядре опция accept_to_default
конфиг nat:
Код: Выделить всё
same_ports yes
use_sockets yes
redirect_port tcp 192.168.0.254:1723 1723
redirect_port tcp 192.168.0.254:22 22
redirect_port tcp 192.168.0.254:31312 31312
redirect_port tcp 192.168.0.254:1194 1194
redirect_port tcp 192.168.0.254:33891 33891
redirect_port tcp 192.168.0.254:25 25
redirect_port tcp 192.168.0.254:110 110
В resolv.conf прописал nameserver
mpd-3.18
Конфиг mpd.conf:
Код: Выделить всё
# PPPoE client example (see also mpd.links.sample entry "PPPoE")
default:
load pppoe
pppoe:
new -i ng0 pppoe pppoe
set iface addrs 1.1.1.1 2.2.2.2
load inet
inet:
set iface disable on-demand
set iface idle 0
set iface route default
set bundle disable multilink
set bundle authname MyLogin #change this
set link yes acfcomp protocomp
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
open iface
конфиг mpd.links
Код: Выделить всё
pppoe:
set link type pppoe
set pppoe iface rl1 #change this!
set pppoe service *
set pppoe disable incoming
set pppoe enable originat
Re: режет VPN:(
Добавлено: 2009-08-24 11:45:44
hizel
что за vpn?
Re: режет VPN:(
Добавлено: 2009-08-24 12:00:35
XairOn
pptp
mschap версии 2
Re: режет VPN:(
Добавлено: 2009-08-24 12:25:02
hizel
кстати а почему не используете ядерный nat ?

Re: режет VPN:(
Добавлено: 2009-08-24 12:46:51
XairOn
Код: Выделить всё
[2:07]/etc>cat /etc/libalias.conf
# $FreeBSD: src/etc/libalias.conf,v 1.2.8.1 2009/04/15 03:14:26 kensmith Exp $
/lib/libalias_cuseeme.so
/lib/libalias_ftp.so
/lib/libalias_irc.so
/lib/libalias_nbt.so
/lib/libalias_pptp.so
/lib/libalias_skinny.so
/lib/libalias_smedia.so
хм.. дело в том, что с nix системами знаком ещё очень и очень мало:) а вот такая конфигурация как сейчас уже вроде как зарекомендовала себя с положительной стороны, ну и решил, что по идее должна сработать:)
Re: режет VPN:(
Добавлено: 2009-08-24 12:49:10
hizel
стоп это у вас чего, pptp из внешней сети во внтурь вашей должно конектицо?
тогда вы gre протокол не пробросили ещё :-\
Re: режет VPN:(
Добавлено: 2009-08-24 12:53:48
XairOn
так в том и суть, что извне всё коннектится, а вот из внутренней сети ничего не проходит:(
а по поводу gre сейчас сяду читать:)
Re: режет VPN:(
Добавлено: 2009-08-24 13:01:28
XairOn
Кстати, возможно несколько не точно выразился. Необходимо лишь осуществить передачу всех запросов из внутренней сети, во внешнюю, ну и наоборот:) то есть машина выполняет роль шлюза с вызовом коннекта по pppoe и не более
Re: режет VPN:(
Добавлено: 2009-08-24 14:23:41
hizel
что то у мя подозрения, что из нутри pptp редиректицо обратно ^_^
tcpdump-ом посмотрите

Re: режет VPN:(
Добавлено: 2009-08-24 14:48:12
XairOn
что то у мя подозрения, что из нутри pptp редиректицо обратно ^_^
а ведь на это очень и похоже
В ядре опция IPDIVERT включена, этого недостаточно для ядрёного?:)
Просто дело осложняется тем, что канал активно используется и вследствии этого возможность экспериментировать очень ограничена по времени(
Re: режет VPN:(
Добавлено: 2009-08-24 14:56:01
hizel
нет, так у вас и с natd можно верно разрулить как-то :-\
Re: режет VPN:(
Добавлено: 2009-08-24 15:04:10
XairOn
Ведь работает всё кроме этого..
Подумав, пришёл к выводу что скорее всего проблема именно с пробросом портов...
Вот только как это корректно реализовать не представляю..
Везде, что бы не просмотрел идёт описание того как снимать сразу с интерфейса, а вот направление не обозначается..
Или я чего то не досмотрел?
Re: режет VPN:(
Добавлено: 2009-08-24 15:13:07
hizel
мм, а есть возможность послать pptp на юг и воспольщзоваться более вменяемой реализацией?
Re: режет VPN:(
Добавлено: 2009-08-24 15:17:30
XairOn
пока нет..
увы пока нет:(
Re: режет VPN:(
Добавлено: 2009-08-25 14:57:25
XairOn
Народ плз помогите, vpn сервер на pptp находится за шлюзом с фряхой, есть ои возможность настроить шлюз таким образом, что бы vpn работал в обе стороны? То есть инициировать соединение изнутри? Пока идёт только снаружи(
Re: режет VPN:(
Добавлено: 2009-09-10 21:33:29
XairOn
Всем здрасьте:)
Продолжаю неустанную борьбу с освоением FreeBSD, вот добрался до VPN сервера:)
Излагаю проблему.
Имеется шлюз с поднятым pppoe клиентом до провайдера, и на нём же vpn сервер, всё реализовано через mpd5.
pppoe поднимается, ядрёный нат помогает выйти из внутренней сети в интернет без проблем:)
Проблема в том, что после установки соединения машины клиента извне по pptp (строго наказали использовать именно этот протокол:)
не пингуется внутренняя сеть, да и сам сервер со стороны машины клиента тоже.
конфиг mpd.conf
Код: Выделить всё
startup:
set user admin masternet
set web self 10.1.1.252 5006
set web open
default:
load pppoe_client
pppoe_client:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
# скриптик
set iface up-script /etc/firewall.sh
# Запросим ДНС у удаленного сервера
set ipcp enable req-pri-dns
set ipcp enable req-sec-dns
create link static L1 pppoe
set link action bundle B1
# Надо указать свои логин и пароль
set auth authname login
set auth password password
set link max-redial 0
set link mtu 1412
set link keep-alive 10 60
# Тут надо прописать свой интерфейс
set pppoe iface rl1
# Не устанавливать имя сервиса, так как мы - клиент
set pppoe service ""
# Запустить соединение
open
# Запустить сервер vpn
load pptp_server
pptp_server:
# Диапазон IP адрессов,
# который присвоется VPN девайсу.
set ippool add pool1 10.1.2.225 10.1.2.239
# Create clonable bundle template named B
create bundle template B
set iface enable proxy-arp
set iface idle 0
set iface enable tcpmssfix
set ipcp yes vjcomp
# Specify IP address pool for dynamic assigment.
set ipcp ranges 10.1.2.223/32 ippool pool1
set ipcp dns 10.1.1.1
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
set bundle enable compression
set ccp yes mppc
set mppc yes e40
set mppc yes e128
set mppc yes stateless
# Create clonable link template named L
create link template L pptp
# Set bundle template to use
set link action bundle B
# Multilink adds some overhead, but gives full 1500 MTU.
set link mtu 1400
set link enable multilink
set link yes acfcomp protocomp
set link no pap chap
set link enable chap
set link keep-alive 10 60
# We reducing link mtu to avoid GRE packet fragmentation
set link mtu 1400
# Configure PPTP
# Внешний IP на котором будет прослушиватся соединение
set pptp self 11.22.33.44
# Allow to accept calls
set link enable incoming
конфиг файера:
Код: Выделить всё
/sbin/ipfw -f flush
# что разрешаем
/sbin/ipfw add 1020 allow gre from any to any
/sbin/ipfw add 1030 allow ip from any to any 1723 via ng0
/sbin/ipfw add 1040 allow ip from any to any via rl0
/sbin/ipfw add 1050 deny ip from any to 192.168.0.0/16 in recv ng0
/sbin/ipfw add 1060 deny ip from 192.168.0.0/16 to any in recv ng0
/sbin/ipfw add 1070 deny ip from any to 172.16.0.0/12 in recv ng0
/sbin/ipfw add 1080 deny ip from 172.16.0.0/12 to any in recv ng0
/sbin/ipfw add 1090 deny ip from any to 10.0.0.0/8 in recv ng0
/sbin/ipfw add 1100 deny ip from 10.0.0.0/8 to any in recv ng0
/sbin/ipfw add 1110 deny ip from any to 169.254.0.0/16 in recv ng0
/sbin/ipfw add 1120 deny ip from 169.254.0.0/16 to any in recv ng0
/sbin/ipfw nat 1 config log if ng0 reset same_ports deny_in
/sbin/ipfw add 1130 nat 1 ip from any to any via ng0
/sbin/ipfw add 65534 deny all from any to any
вывод ifconfig после подключения
Код: Выделить всё
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:c0:26:2e:96:16
inet 10.1.1.252 netmask 0xffffff00 broadcast 10.1.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:e0:4c:a5:0f:c8
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1412
inet 11.22.33.44 --> 85.234.124.252 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396
inet 10.1.2.222 --> 10.1.1.222 netmask 0xffffffff
вывод netstat -rn
Код: Выделить всё
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 85.234.124.252 UGS 0 62 ng0
10.1.1.0/24 link#1 UC 0 0 rl0
10.1.1.1 00:1f:c6:f1:7a:78 UHLW 1 98 rl0 1199
10.1.1.25 00:19:db:e9:a4:01 UHLW 1 4 rl0 938
10.1.1.83 00:1d:7d:4c:62:7c UHLW 1 5315 rl0 1154
10.1.1.222 10.1.2.222 UH 0 0 ng1
10.1.1.222 00:c0:26:2e:96:16 UHLS2 1 0 rl0
85.234.124.252 11.22.33.44 UH 1 0 ng0
127.0.0.1 127.0.0.1 UH 0 6 lo0
подскажите что сотворить?
Re: режет VPN:(
Добавлено: 2009-09-11 9:13:42
XairOn
Ну хоть подскажите куда копать..
При открытом настежь ipfw:
Код: Выделить всё
/sbin/ipfw add 1010 allow all from any to any
при попытке пропинговать что либо система после установления коннекта наглухо виснет:(
Re: режет VPN:(
Добавлено: 2009-09-11 9:20:34
cloudsv
Проблема в том, что после установки соединения машины клиента извне по pptp (строго наказали использовать именно этот протокол:)
не пингуется внутренняя сеть, да и сам сервер со стороны машины клиента тоже.
Не из под винды конектишься?
Re: режет VPN:(
Добавлено: 2009-09-11 9:28:25
XairOn
из под винды, ради этого и весь сыр бор:)
Re: режет VPN:(
Добавлено: 2009-09-11 9:40:51
cloudsv
хм, ща винды нет под рукой, но насколько я помню там в настройках VPN соединения, TCP/IP где задаешь айпишник нажать дополнительно и убрать галку не использовать данный шлюз по умолчанию или как то так. после этого усе работать должно.
Re: режет VPN:(
Добавлено: 2009-09-11 9:57:46
XairOn
неа:(
виснуть вроде перестала после отключения галки, но вот пингаваться, так ничего и не пингуется(
Re: режет VPN:(
Добавлено: 2009-09-11 10:19:49
cloudsv
приведи конфиг файрволла к такому виду, насчет штатного nat не знаю не пользовался им, но если изнутри работает то норм
Код: Выделить всё
fwcmd="/sbin/ipfw -q"
${fwcmd} -f flush
${fwcmd} add allow ip from any to any via lo0
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any
# что разрешаем
${fwcmd} add allow gre from any to any
${fwcmd} add allow ip from any to any 1723 via ng0
${fwcmd} add allow ip from any to any via rl0
${fwcmd} nat 1 config log if ng0 reset same_ports deny_in
${fwcmd} add nat 1 ip from any to any via ng0
deny всегда успеешь добавить
и еще у меня в mpd5
но раз у тебя без этого подключается то мб это лишнее
Re: режет VPN:(
Добавлено: 2009-09-11 10:21:38
cloudsv
Вот это режет всю сеть(10.255.255.255) на интерфейсе ng0
Код: Выделить всё
/sbin/ipfw add 1090 deny ip from any to 10.0.0.0/8 in recv ng0
/sbin/ipfw add 1100 deny ip from 10.0.0.0/8 to any in recv ng0
Re: режет VPN:(
Добавлено: 2009-09-11 10:24:31
XairOn
пасибо!!!!!!!!!
заработало!!!:))))
Re: режет VPN:(
Добавлено: 2009-09-11 10:27:29
cloudsv
ну тады поздравляю.
отпишись что сделал, и продолжай изучение)