weldpua2008 Posted April 23, 2006 Posted April 23, 2006 Привет. Есть Сервер - На Нем есть билинг FreeNIBS и Сервер MPD, так же pptp клиент. MPD(mpd+FreeNib+FreeRAdius+FreeBSD) подключает к Серверу, Сервер уже подключен к инету с помощью pptp. Выглядет это так: Сеть 192.168.10.0----mpd+FreeNib+FreeRAdius -----Сервер 192.168.10.1 Подключившийся имеет ИП: Доступ в Инет 192.168.11.0 ----- Сервер 192.168.11.1 Теперь Сервер: Инет Сервер 192.168.129.146 --pptp-- 192.168.128.2 Сервер пингует Интернет, Клиенты же не могут Его пропинговать не по Ип не по имени... Где копать??? Вставить ник Quote
weldpua2008 Posted April 23, 2006 Author Posted April 23, 2006 ЗЫ: Серверу выделяется ИП 193.238.152.25 # netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 193.238.152.1 UGS 0 0 tun0 127.0.0.1 127.0.0.1 UH 0 42 lo0 192.168.10 link#1 UC 0 0 rl0 192.168.10.1 00:0e:2e:2f:84:68 UHLW 1 26 lo0 192.168.10.2/32 link#1 UC 0 0 rl0 192.168.10.3/32 link#1 UC 0 0 rl0 192.168.10.97 00:0a:48:14:98:1d UHLW 1 90 rl0 1082 192.168.10.98 00:0c:29:cc:55:a1 UHLW 1 131 rl0 1094 192.168.11.1/32 link#1 UC 0 0 rl0 192.168.128/20 link#2 UC 0 0 rl1 192.168.128.2 00:11:2f:cc:6b:b0 UHLW 1 57 rl1 1129 192.168.128.253 00:03:47:cc:a2:ec UHLW 1 0 rl1 1199 192.168.128.254 00:03:47:1d:7f:e6 UHLW 1 9 rl1 1111 193.238.152.1 193.238.152.25 UH 1 0 tun0 После подключения # netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 193.238.152.1 UGS 0 1 tun0 127.0.0.1 127.0.0.1 UH 0 68 lo0 192.168.10 link#1 UC 0 0 rl0 192.168.10.1 00:0e:2e:2f:84:68 UHLW 1 44 lo0 192.168.10.2 00:0e:2e:2f:84:68 UHLW 1 4 lo0 => 192.168.10.2/32 link#1 UC 0 0 rl0 192.168.10.3 00:0e:2e:2f:84:68 UHLW 1 4 lo0 => 192.168.10.3/32 link#1 UC 0 0 rl0 192.168.10.97 00:0a:48:14:98:1d UHLW 1 1509 rl0 1163 192.168.10.98 00:0c:29:cc:55:a1 UHLW 1 141 rl0 519 192.168.11.1 lo0 UHS 0 0 lo0 => 192.168.11.1/32 link#1 UC 0 0 rl0 192.168.11.22 192.168.11.1 UH 0 107 ng0 192.168.128/20 link#2 UC 0 0 rl1 192.168.128.2 00:11:2f:cc:6b:b0 UHLW 1 228 rl1 1154 192.168.128.253 00:03:47:cc:a2:ec UHLW 1 0 rl1 1187 192.168.128.254 00:03:47:1d:7f:e6 UHLW 1 18 rl1 1070 193.238.152.1 193.238.152.25 UH 1 0 tun0 Вставить ник Quote
weldpua2008 Posted April 23, 2006 Author Posted April 23, 2006 load pptp0 load pptp1 pptp0: new -i ng00 pptp0 pptp0 set ipcp ranges 192.168.11.1/24 192.168.11.1/32 load pptp_standart pptp1: new -i ng01 pptp0 pptp0 set ipcp ranges 192.168.11.1/24 192.168.11.99/32 load pptp_standart pptp_standart: set iface disable on-demand set bundle enable multilink set link yes acfcomp protocomp #set iface up-script /usr/local/etc/mpd4/link-up # set iface down-script /usr/local/etc/mpd4/link-down set link no pap chap set link enable chap set link keep-alive 60 180 set ipcp yes vjcomp set ipcp dns 192.168.11.1 set iface enable proxy-arp set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e56 set ccp yes mpp-e128 set ccp yes mpp-stateless set pptp enable incoming set pptp disable originate set radius config /opt/radius.conf set radius me 127.0.0.1 set radius retries 1 set radius server 127.0.0.1 weldpua 1812 1813 set radius timeout 5 set auth acct-update 300 set auth enable radius-auth set auth enable radius-acct Вставить ник Quote
Ugnich Anton Posted April 23, 2006 Posted April 23, 2006 mpd-сервер после подключения стоит у юзера, как default gateway ? Вставить ник Quote
weldpua2008 Posted April 23, 2006 Author Posted April 23, 2006 Сервер имеет ИП 192.168.11.1 Microsoft Windows XP [Версия 5.1.2600] router - PPP адаптер: DNS-суффикс этого подключения . . : Описание . . . . . . . . . . . . : WAN (PPP/SLIP) Interface Физический адрес. . . . . . . . . : 00-53-45-00-00-00 Dhcp включен. . . . . . . . . . . : нет IP-адрес . . . . . . . . . . . . : 192.168.11.200 Маска подсети . . . . . . . . . . : 255.255.255.255 Основной шлюз . . . . . . . . . . : 192.168.11.200 DNS-серверы . . . . . . . . . . . : 192.168.11.1 Вставить ник Quote
weldpua2008 Posted April 24, 2006 Author Posted April 24, 2006 Привет. Есть вот такая Сеть: 192.168.10.0(WinXP)|---|192.168.10.1(MPD-сервер) Сервер (pptp конкт к инету)193.238.152.25| -- 193.238.152.1(Сервер Инета) Инет Или же это выглядит так: (WinXP)---ng0|mpd(мой сервер)| (WinXP)---ng1|mpd(мой сервер)| |(мой сервер)pptp|tun0<------>Инет (WinXP)---ng2|mpd(мой сервер)| .............|mpd(мой сервер)| Мне говорили, что надо натить... Предпочтительно это делать на pf... Вот делаю так: pptp vpn.server server&; ping ya.ru; # ping ya.ru #PING ya.ru (213.180.204.8): 56 data bytes #64 bytes from 213.180.204.8: icmp_seq=2 ttl=54 time=128.051 ms pfctl -d;pfctl -f /etc/pf1.conf; mpd4;radiusd -x; # ifconfig |less rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=8<VLAN_MTU> inet6 fe80::20e:2eff:fe2f:8468%rl0 prefixlen 64 scopeid 0x1 inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255 inet 192.168.10.2 netmask 0xffffffff broadcast 192.168.10.2 inet 192.168.10.3 netmask 0xffffffff broadcast 192.168.10.3 inet 192.168.11.1 netmask 0xffffffff broadcast 192.168.11.1 ether 00:0e:2e:2f:84:68 media: Ethernet autoselect (100baseTX <full-duplex>) status: active rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=8<VLAN_MTU> inet6 fe80::230:4fff:fe25:7ab1%rl1 prefixlen 64 scopeid 0x2 inet 192.168.129.146 netmask 0xfffff000 broadcast 192.168.143.255 ether 00:30:4f:25:7a:b1 media: Ethernet autoselect (100baseTX <full-duplex>) status: active plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208 pfsync0: flags=0<> mtu 2020 ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500 tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 193.238.152.25 --> 193.238.152.1 netmask 0xffffffff Opened by PID 895 ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400 inet 192.168.11.1 --> 192.168.11.200 netmask 0xffffffff inet6 fe80::20e:2eff:fe2f:8468%ng0 prefixlen 64 scopeid 0x7 ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500 ng3: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500 pfctl -e; #cat /etc/pf1.conf ext_if_1="tun0" int_if="ng0" nat on $ext_if_1 inet from $int_if to any -> $ext_if_1 pass on $ext_if_1 all pass on $int_if all На WinXP делаю: ping -t 213.180.204.8 ping -t ya.ru ничего... Вставить ник Quote
weldpua2008 Posted April 24, 2006 Author Posted April 24, 2006 (подключен Инет на Сервере) tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 193.238.152.25 --> 193.238.152.1 netmask 0xffffffff (подключен пользоваетель к MPD) ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400 inet 192.168.10.1 --> 192.168.11.200 netmask 0xffffffff Собственно надо, что бы между ng0 и tun0 был свободный проход, или другими словами - все запросы с ng0 пересылались на tun0 Вот и все... И еще - после подключения Винды: Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.10.1 192.168.10.97 21 0.0.0.0 0.0.0.0 192.168.11.200 192.168.11.200 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.10.0 255.255.255.0 192.168.10.97 192.168.10.97 20 192.168.10.1 255.255.255.255 192.168.10.97 192.168.10.97 20 192.168.10.97 255.255.255.255 127.0.0.1 127.0.0.1 20 192.168.10.255 255.255.255.255 192.168.10.97 192.168.10.97 20 192.168.11.200 255.255.255.255 127.0.0.1 127.0.0.1 50 192.168.11.255 255.255.255.255 192.168.11.200 192.168.11.200 50 224.0.0.0 240.0.0.0 192.168.10.97 192.168.10.97 20 224.0.0.0 240.0.0.0 192.168.11.200 192.168.11.200 1 255.255.255.255 255.255.255.255 192.168.10.97 192.168.10.97 1 255.255.255.255 255.255.255.255 192.168.11.200 192.168.11.200 1 Основной шлюз: 192.168.11.200 Вставить ник Quote
weldpua2008 Posted April 24, 2006 Author Posted April 24, 2006 Пока получается так: подключаю Инет на Сервере, Там defaultrouter мой выход в Инет, тоесть всем подключившимся доступен Инет, запускаю pf - блокирую на Интерфейсе, который идет в Инет ВЕСЬ трафик, кроме того, который идет на или из Сети в которой выдается выделеный ИП... Но это же дурное решение!!! Вставить ник Quote
Ugnich Anton Posted April 24, 2006 Posted April 24, 2006 Логи и настройки - это, конечно, хорошо... Но для начала нужно нормально обьяснить проблему. Вставить ник Quote
weldpua2008 Posted April 25, 2006 Author Posted April 25, 2006 try agan :)? абстракция: есть в выводе ifconfig(части) подключение к Инету:tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 193.238.152.25 --> 193.238.152.1 netmask 0xffffffff Подключение к mpd: ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400 inet 192.168.10.1 --> 192.168.11.200 netmask 0xffffffff ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1400 inet 192.168.10.1 --> 192.168.11.199 netmask 0xffffffff ng2 и т.д. Надо натить: ng0,ng1,ng2...ngXX==>tun0 ИП известны для каждого отдельного ngXX и для каждого можно запустить свое правило(свой скрипт). Это скорее постановка задачи, которую не могу решить... ЗЫ:ОСЬ FreeBSD+ipfw+natd(хотя не принципиально) А вопрос звучит так: есть множество ngXX и tun0, надо что бы каждый из ngXX мог ходить в Сеть за tun0... Помогите с реализацией? Вставить ник Quote
Ugnich Anton Posted April 25, 2006 Posted April 25, 2006 Как настроить НАТ - спросите у google, примеров достаточно. Будут проблемы - формулируйте. ;) Вставить ник Quote
Saenara Posted April 26, 2006 Posted April 26, 2006 ppp_nat="YES" в /etc/rc.conf или ppp -nat ... в командной строке или man ppp + чтение Handbook'а на сайте www.freebsd.org спасет отца русской демократии (с) :-) Вставить ник Quote
weldpua2008 Posted April 26, 2006 Author Posted April 26, 2006 ppp_nat="YES" в /etc/rc.conf или ppp -nat ... в командной строке Эта хитрая штука дает Инет всем желаюсчим... Получается - мне прийдется закрыть Мой фейс tun0, и потом открывать при подключении к Серверу.. Я тут уже неделю борюсь с mpd+freeradius+freebsd 6+freenibs+ipfw+natd. Подключаюсь WinXP к серверу, создается интерфейс ng0. Сервер подключен в Инет, интерфейс tun0. ipfw+natd: natd -n tun0 -p 8668 sleep 3 ipfw 20 add divert natd all from 192.168.11.21 to any via tun0 # cat /etc/rc.conf |grep -v '#' gateway_enable="YES" netgraph_enable="YES" firewall_enable="YES" firewall_type="OPEN" dhcpd_enable="YES" dhcpd_flags="-q" dhcpd_ifaces="rl0" named_enable="YES" router_flags="-s" router="routed" router_enable="YES" подсказывали, что можно включить - поможет... # sysctl -a |grep forward net.inet.ip.forwarding: 1 net.inet.ip.fastforwarding: 0 net.inet6.ip6.forwarding: 0 Делаю пинг на подключеной машине... # tcpdump -i ng0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ng0, link-type NULL (BSD loopback), capture size 96 bytes 23:54:47.104305 IP 192.168.11.21 > ya.ru: ICMP echo request, id 768, seq 1024, length 40 23:54:52.428643 IP 192.168.11.21 > ya.ru: ICMP echo request, id 768, seq 1280, length 40 # tcpdump -i tun0 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes 23:54:47.104504 IP k152-25.saltov.net > ya.ru: ICMP echo request, id 768, seq 1024, length 40 23:54:47.229275 IP ya.ru > k152-25.saltov.net: ICMP echo reply, id 768, seq 1024, length 40 23:54:52.428841 IP k152-25.saltov.net > ya.ru: ICMP echo request, id 768, seq 1280, length 40 23:54:52.549914 IP ya.ru > k152-25.saltov.net: ICMP echo reply, id 768, seq 1280, length 40 Вставить ник Quote
Saenara Posted April 27, 2006 Posted April 27, 2006 Эта хитрая штука дает Инет всем желаюсчим... Вопрос был -- почему клиентам интернет не видно, про ограничение -- ни слова. ipfw 20 add divert natd all from 192.168.11.21 to any via tun0 # tcpdump -i ng0 23:54:47.104305 IP 192.168.11.21 > ya.ru: ICMP echo request, id 768, seq 1024, length 40 23:54:52.428643 IP 192.168.11.21 > ya.ru: ICMP echo request, id 768, seq 1280, length 40 # tcpdump -i tun0 23:54:47.104504 IP k152-25.saltov.net > ya.ru: ICMP echo request, id 768, seq 1024, length 40 23:54:47.229275 IP ya.ru > k152-25.saltov.net: ICMP echo reply, id 768, seq 1024, length 40 А кто будет за тебя возвращающиеся обратно пакеты опять natd'у отдавать? Вася Пупкин? ;-) И, вообще, делать нат на tun средствами ppp, а запрещать доступ ко всем не серым адресам на ng интерфейсах. Для малопривычных к ipfw/natd такая конструкция понятнее :-) Вставить ник Quote
weldpua2008 Posted April 27, 2006 Author Posted April 27, 2006 А кто будет за тебя возвращающиеся обратно пакеты опять natd'у отдавать? Пробовал, причем разным синтаксисом, даже делал: ipfw add divert natd all from any to any via tun0 Нашел в чем дело было: было у Меня так: 100 divert 8668 ip from 192.168.11.21 to any via tun0 200 divert 8668 ip from any to 192.168.11.21 via tun0 А НАДО: 100 divert 8668 ip from 192.168.11.21 to any via tun0 200 divert 8668 ip from any to me via tun0 +еще в настройка мпд, было: set iface route default ...... ...... set iface route Поэтому не работало: ipfw add divert natd all from any to any via tun0 Спасибо за внимание!!! Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.