Вообщем есть следующие. Машина на FreeBSD, два интерфейса:
ex0 - смотрит в сторону моей локалки (192.168.0.10/255.255.255.192)
ed0 - в сторону ISP (192.168.0.12/255.255.255.0)
У прова есть VPN сервер через который выходят в инет (при подключении дает адрес 192.168.100.102).
Хочу получить следующие:
1) сдалать обычный роутинг между сетями без всяких ограничений и учета трафика.
2) сдать NAT и VPN сервер что бы выходить в интернет из моей локалки, причем так что бы в VPN была возможность авторизации по имени и паролю, который я задам для каждого свой, и учет трафика для всех пользователей с возможностью его ограничение.
3) что бы соединение с VPN устанавливалось только когда оно нужно, а не всегда.Что сделанно, но не работает:
В ядре:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPDIVERTВ /etc/rc.conf:
ifconfig_ex0="inet 192.168.0.10 netmask 255.255.255.192"
ifconfig_ed0="inet 192.168.10.12 netmask 255.255.255.0"
gateway_enabled="YES"В /usr/local/etc/rc.d/fw.sh:
#!/bin/sh
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via tun0
/sbin/ipfw add pass all from any to anyВ /usr/local/etc/rc.d/nat.sh:
#!/bin/sh
pptp 192.168.10.1 vpn &
/sbin/natd -f /etc/natd.conf -a 192.168.100.102 -sВ /etc/ppp/ppp.conf:
vpn:
set authname *******
set authkey ******
set timeout 0
set ifaddr 0 0
add default HISADDRВ /ect/natd.conf:
same_ports yes
use_sockets yesВот это все не работает, ни роутинг ни инет, даже не пингуется DNS сервер который я получаю при соеденении (192.168.11.1). Помогите сделать то что я хочу, желательно поподробнее ))
PS: В фрихи я новенький, потому попрошу сильно ногами не пинать, если где чушь сморозил )))
PSS: Зарание спасибо
>Вообщем есть следующие. Машина на FreeBSD, два интерфейса:
>ex0 - смотрит в сторону моей локалки (192.168.0.10/255.255.255.192)
>ed0 - в сторону ISP (192.168.0.12/255.255.255.0)
>У прова есть VPN сервер через который выходят в инет (при подключении
>дает адрес 192.168.100.102).
>Хочу получить следующие:
>1) сдалать обычный роутинг между сетями без всяких ограничений и учета трафика.
>
>2) сдать NAT и VPN сервер что бы выходить в интернет из
>моей локалки, причем так что бы в VPN была возможность авторизации
>по имени и паролю, который я задам для каждого свой, и
>учет трафика для всех пользователей с возможностью его ограничение.
>3) что бы соединение с VPN устанавливалось только когда оно нужно, а
>не всегда.
>
>Что сделанно, но не работает:
>В ядре:
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>options IPFIREWALL_VERBOSE_LIMIT=100
>options IPDIVERT
>
>В /etc/rc.conf:
>ifconfig_ex0="inet 192.168.0.10 netmask 255.255.255.192"
>ifconfig_ed0="inet 192.168.10.12 netmask 255.255.255.0"
>gateway_enabled="YES"
>
>В /usr/local/etc/rc.d/fw.sh:
>#!/bin/sh
>/sbin/ipfw -f flush
>/sbin/ipfw add divert natd all from any to any via tun0
>/sbin/ipfw add pass all from any to any
>
>В /usr/local/etc/rc.d/nat.sh:
>#!/bin/sh
>pptp 192.168.10.1 vpn &
>/sbin/natd -f /etc/natd.conf -a 192.168.100.102 -s
>
>В /etc/ppp/ppp.conf:
>vpn:
> set authname *******
> set authkey ******
> set timeout 0
> set ifaddr 0 0
> add default HISADDR
>
>В /ect/natd.conf:
>same_ports yes
>use_sockets yes
[-use_sockets | -s] - два раза писать одно не обязательносначала запускается fw.sh и ругается на несуществование tun
интересно ты поднимаешь vpnСудя по желаемому тебе нужно что бы шлюз был одновременно и VPN клиентом (для провайдера) и VPN сервером ( для клиентов локальной сети )
>
>Вот это все не работает, ни роутинг ни инет, даже не пингуется
>DNS сервер который я получаю при соеденении (192.168.11.1). Помогите сделать то
>что я хочу, желательно поподробнее ))
>
>PS: В фрихи я новенький, потому попрошу сильно ногами не пинать, если
>где чушь сморозил )))
>PSS: Зарание спасибо
Сделай одну часть а потом другую так легче будет контролировать все
>[-use_sockets | -s] - два раза писать одно не обязательно
>
>сначала запускается fw.sh и ругается на несуществование tun
>интересно ты поднимаешь vpn
Понял, исправил, но не в этом дело было, я и руками запускал все, не пашет
>
>Судя по желаемому тебе нужно что бы шлюз был одновременно и
>VPN клиентом (для провайдера) и VPN сервером ( для клиентов
>локальной сети )
>
ага, точно>>
>>Вот это все не работает, ни роутинг ни инет, даже не пингуется
>>DNS сервер который я получаю при соеденении (192.168.11.1). Помогите сделать то
>>что я хочу, желательно поподробнее ))
>>
>>PS: В фрихи я новенький, потому попрошу сильно ногами не пинать, если
>>где чушь сморозил )))
>>PSS: Зарание спасибо
>
>
>Сделай одну часть а потом другую так легче будет контролировать все
согласен, первый вопрос, почему роутинг не работает?
ну как бы время поджимает, народ требует )))
вот и обращаюсь, мож знает кто как это сделать
Зафигач поиск по VPN есть отличные ссылки, по отдельности все настроишь , точно заработает, очень много отличных ссылок.
А потом уже сделаешь соединение по требованию.
Ну объясните пожалуста, почему вот эта конструкция не работает, ведь вроде все по докам сделанно
Где по докам то, какой VPN ты ипользуешь?
Что конкретно не работает? Твоей сервер подключается к VPN гейту провайдеру? Инет есть?
>Где по докам то, какой VPN ты ипользуешь?
>Что конкретно не работает? Твоей сервер подключается к VPN гейту провайдеру? Инет
>есть?через PPtP подключается, но даже сервак не пингуется, говорит нет пути до хоста, прописываю мой айпи который выдается при подключении (192.168.100.102) как дефаулт роутер, в этом случае сервер тоже не пингуется, но уже ни чего не говорит.
и самое главное: Ну почему роутинг то между сетями не пашет?!
приконнектись к провайдеру
дай
ifconfig
netstat -r
>приконнектись к провайдеру
>дай
>ifconfig
>netstat -rвот что получилось:
Server# ifconfig
ex0: flags=843<UP,BROADCAST,RUNNING,SIMPLEX> mtu 1500
inet 192.168.0.10 netmask 0xffffffc0 broadcast 192.168.0.63
ether 00:aa:00:69:aa:e2
media: Ethernet 10baseT/UTP
lp0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.10.12 netmask 0xffffff00 broadcast 192.168.10.255
ether 00:c0:df:50:7e:ce
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1498
inet 192.168.100.102 --> 192.168.11.1 netmask 0xffffffff
Opened by PID 159Server# netstat -r
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.11.1 UGSc 0 0 tun0
localhost.kolom.ru localhost.kolom.ru UH 0 0 lo0
192.168.0/26 link#1 UC 6 0 ex0
192.168.0.1 00:01:02:ca:0c:24 UHLW 2 119 ex0 969
192.168.0.3 00:50:22:e1:c1:36 UHLW 1 76 ex0 969
192.168.0.5 00:00:17:00:04:34 UHLW 1 59 ex0 969
192.168.0.6 00:e0:4c:79:00:86 UHLW 1 65 ex0 785
Server 00:aa:00:69:aa:e2 UHLW 0 906 lo0
192.168.0.63 ff:ff:ff:ff:ff:ff UHLWb 3 43 ex0
192.168.10.0 ff:ff:ff:ff:ff:ff UHLWb 0 2 ed0 =>
192.168.10 link#3 UC 4 0 ed0
192.168.10.1 00:50:8b:07:d8:20 UHLW 2 208 ed0 801
192.168.10.35 00:02:44:4f:4e:d8 UHLW 1 55 ed0 969
192.168.10.255 ff:ff:ff:ff:ff:ff UHLWb 2 43 ed0
192.168.11.1 192.168.100.102 UH 1 11 tun0
Хорошо
ping 192.168.11.1
что показывает?
>Хорошо
>ping 192.168.11.1
>что показывает?ни чего, по таймауту все вылетает
ping 192.168.100.102
И проверьте фаерволл у себя и у провайдера
>ping 192.168.100.102
>И проверьте фаерволл у себя и у провайдерапингует, файр вол у меня:
ipfw add pass all form any to anyу прова не знаю, но должен быть в порядке, т.к. в винде все без проблем работает
чего нибудь в руководстве pptpclient может есть?
cat /var/log/security
Покажи при пинге
Протокол PPTP использует следующие порты и протоколы:
На сервере - порт 1723, протокол TCP.
У клиента (т.е. у Вас) - некий верхний порт (>1023), протокол TCP.
С обеих сторон - протокол GRE (для создания туннеля).
>cat /var/log/security
>Покажи при пинге
>
пустой он у меня :)
65533 allow log all from any to any
65534 deny log all from any to any
65535 deny log ip from any to any
Добавь и покажи что просил
>65533 allow log all from any to any
>65534 deny log all from any to any
>65535 deny log ip from any to any
>Добавь и покажи что просиля навенрно мдленный, но все равно он у меня пустой
ipfw show
>ipfw showпрошу прощения что не отвечал долго, вот:
00100 399 55711 allow ip from any to any
65533 0 0 allow log logamount 100 ip from any to any
65534 0 0 deny log logamount 100 ip from any to any
65535 19 1090 deny ip from any to any
>>ipfw show
>
>прошу прощения что не отвечал долго, вот:
>
>00100 399 55711 allow ip from any to any
>65533 0 0 allow log logamount
>100 ip from any to any
>65534 0 0 deny log logamount
>100 ip from any to any
>65535 19 1090 deny ip from any to anyпоправка, вот что выдает ipfw при попытке добавить последнее правило:
ip_fw.ctl: can't add rule 65535
ipfw: getsockopt(IP_FW_ADD): Invalid argument
>Вообщем есть следующие. Машина на FreeBSD, два интерфейса:
>ex0 - смотрит в сторону моей локалки (192.168.0.10/255.255.255.192)подсеть класса С?
если С, то получаем - 192.168.0.0/26, или если ограничивать по маске 192 -62 машины. смотри утилиту ipcalc в портах>ed0 - в сторону ISP (192.168.0.12/255.255.255.0)
тоже интересная сеть. 0.12 - всегда был не сетью а ip адресом ) см выше пример, то маска /24 либо 255.255.255.0
>У прова есть VPN сервер через который выходят в инет (при подключении
>дает адрес 192.168.100.102).оригинальный пров )
>Хочу получить следующие:
>1) сдалать обычный роутинг между сетями без всяких ограничений и учета трафика.
>
>2) сдать NAT и VPN сервер что бы выходить в интернет из
>моей локалки, причем так что бы в VPN была возможность авторизации
>по имени и паролю, который я задам для каждого свой, и
>учет трафика для всех пользователей с возможностью его ограничение.как только ты подымаешь на одном интерфейсе VPN & Nat - тебе на наруднем интерфейсе надо real-ip. Иначе не работает. Проверенно.
а у прова на реальном соединении должен тоже стоять реал-ай.пи.>3) что бы соединение с VPN устанавливалось только когда оно нужно, а
>не всегда.просто в Inetd прописываешь порт, и при запросе на него идет индентификация, лучше вирт. порт squid'а например.
>Что сделанно, но не работает:
>В ядре:
>options IPFIREWALL
>options IPFIREWALL_VERBOSE
>options IPFIREWALL_VERBOSE_LIMIT=100
>options IPDIVERT
>
>В /etc/rc.conf:
>ifconfig_ex0="inet 192.168.0.10 netmask 255.255.255.192"
>ifconfig_ed0="inet 192.168.10.12 netmask 255.255.255.0"
>gateway_enabled="YES"
>
>В /usr/local/etc/rc.d/fw.sh:
>#!/bin/sh
>/sbin/ipfw -f flush
>/sbin/ipfw add divert natd all from any to any via tun0
>/sbin/ipfw add pass all from any to any
>
>В /usr/local/etc/rc.d/nat.sh:
>#!/bin/sh
>pptp 192.168.10.1 vpn &
>/sbin/natd -f /etc/natd.conf -a 192.168.100.102 -s
>
>В /etc/ppp/ppp.conf:
>vpn:
> set authname *******
> set authkey ******
> set timeout 0
> set ifaddr 0 0
> add default HISADDRа не pptpd разве надо настраивать?
>
>В /ect/natd.conf:
>same_ports yes
>use_sockets yes
>
>Вот это все не работает, ни роутинг ни инет, даже не пингуется
>DNS сервер который я получаю при соеденении (192.168.11.1). Помогите сделать то
>что я хочу, желательно поподробнее ))хех. почитал б маны & how-to сначала.
в догонкуhttp://www.artifact.spb.ru/labs/mpd.shtml
тут VPN описываетсяhttp://www.artifact.spb.ru/labs/short/short-rec3.shtml
тут настройка natd и сервераи вообще неплохие рещения по реализации задач
>>Вообщем есть следующие. Машина на FreeBSD, два интерфейса:
>>ex0 - смотрит в сторону моей локалки (192.168.0.10/255.255.255.192)
>
>подсеть класса С?
>если С, то получаем - 192.168.0.0/26, или если ограничивать по маске 192
>-62 машины. смотри утилиту ipcalc в портах
>
>>ed0 - в сторону ISP (192.168.0.12/255.255.255.0)
>
>тоже интересная сеть. 0.12 - всегда был не сетью а ip адресом
>) см выше пример, то маска /24 либо 255.255.255.0С адресами у него просто опечатка вначале, смотри вывод ifconfig
И почему нельзя использовать нулевую сеть?>>У прова есть VPN сервер через который выходят в инет (при подключении
>>дает адрес 192.168.100.102).
>
>оригинальный пров )Значит пров берет на себя трансляцию адресов, может вообще инет
получается через сеть провайдера.>
>>Хочу получить следующие:
>>1) сдалать обычный роутинг между сетями без всяких ограничений и учета трафика.
>>
>>2) сдать NAT и VPN сервер что бы выходить в интернет из
>>моей локалки, причем так что бы в VPN была возможность авторизации
>>по имени и паролю, который я задам для каждого свой, и
>>учет трафика для всех пользователей с возможностью его ограничение.
>
>как только ты подымаешь на одном интерфейсе VPN & Nat - тебе
>на наруднем интерфейсе надо real-ip. Иначе не работает. Проверенно.
>а у прова на реальном соединении должен тоже стоять реал-ай.пи.
Где такие ограничения на нат описаны?
>
>>3) что бы соединение с VPN устанавливалось только когда оно нужно, а
>>не всегда.
>
>просто в Inetd прописываешь порт, и при запросе на него идет индентификация,
>лучше вирт. порт squid'а например.
>
>>Что сделанно, но не работает:
>>В ядре:
>>options IPFIREWALL
>>options IPFIREWALL_VERBOSE
>>options IPFIREWALL_VERBOSE_LIMIT=100
>>options IPDIVERT
>>
>>В /etc/rc.conf:
>>ifconfig_ex0="inet 192.168.0.10 netmask 255.255.255.192"
>>ifconfig_ed0="inet 192.168.10.12 netmask 255.255.255.0"
>>gateway_enabled="YES"
>>
>>В /usr/local/etc/rc.d/fw.sh:
>>#!/bin/sh
>>/sbin/ipfw -f flush
>>/sbin/ipfw add divert natd all from any to any via tun0
>>/sbin/ipfw add pass all from any to any
>>
>>В /usr/local/etc/rc.d/nat.sh:
>>#!/bin/sh
>>pptp 192.168.10.1 vpn &
>>/sbin/natd -f /etc/natd.conf -a 192.168.100.102 -s
>>
>>В /etc/ppp/ppp.conf:
>>vpn:
>> set authname *******
>> set authkey ******
>> set timeout 0
>> set ifaddr 0 0
>> add default HISADDR
>
>а не pptpd разве надо настраивать?
вот тебе ссылочка в ответ
http://www.vzletka.net/net/serv/os/unix/
автор делал точно как тут описано>
>>
>>В /ect/natd.conf:
>>same_ports yes
>>use_sockets yes
>>
>>Вот это все не работает, ни роутинг ни инет, даже не пингуется
>>DNS сервер который я получаю при соеденении (192.168.11.1). Помогите сделать то
>>что я хочу, желательно поподробнее ))
>
>хех. почитал б маны & how-to сначала.