Привет ВСЕМ.
На Сервере подрубаюсь к инету, клиент подрубается к Серверу - теперь вопрос?
Как сделать так, что бы пользователь ходил в Инет и в другую Сеть?
На Серве стоит pf,Mpd,freeNIBS.
Сервер:
192.168.10.1,192.168.10.2,192.168.10.3 смотрит во внутренюю Сеть
192.168.129.146 смотрит во внешнюю Сеть - через него идет в Инет
193.238.152.25 мой ИП для доступа в Инет
Клиент:
192.168.11.22 , но могу и другой поставить...До подключения
root@freebsd# netstat -rn
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
127.0.0.1 127.0.0.1 UH 0 168 lo0
192.168.10 link#1 UC 0 0 rl0
192.168.10.1 00:0e:2e:2f:84:68 UHLW 1 2 lo0
192.168.10.2 00:0e:2e:2f:84:68 UHLW 1 18 lo0 =>
192.168.10.2/32 link#1 UC 0 0 rl0
192.168.10.3 00:0e:2e:2f:84:68 UHLW 1 18 lo0 =>
192.168.10.3/32 link#1 UC 0 0 rl0
192.168.10.97 00:0a:48:14:98:1d UHLW 1 5194 rl0 370
192.168.10.98 00:0c:29:cc:55:a1 UHLW 1 7857 rl0 964
192.168.128/20 link#2 UC 0 0 rl1
192.168.128.2 00:11:2f:cc:6b:b0 UHLW 1 1955 rl1 1199
192.168.128.253 00:03:47:cc:a2:ec UHLW 1 0 rl1 1200
192.168.128.254 00:03:47:1d:7f:e6 UHLW 1 329 rl1 1198
192.168.130.245 00:11:09:f6:c3:12 UHLW 1 3 rl1 1200после:
+вот это
root@freebsd# netstat -rn
...
193.238.152.1 193.238.152.25 UH 1 0 tun0подключен юзер к МПД...
+вот это к предыдущей таблице...
root@freebsd# netstat -rn
....
192.168.11.22 192.168.10.1 UH 0 0 ng0
root@freebsd# ifconfig|grep -v 'ng'
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
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
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
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet 127.0.0.1 netmask 0xff000000
pfsync0: flags=0<> mtu 2020
tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
>Привет ВСЕМ.
>На Сервере подрубаюсь к инету, клиент подрубается к Серверу - теперь вопрос?
>
>Как сделать так, что бы пользователь ходил в Инет и в другую
>Сеть?
>На Серве стоит pf,Mpd,freeNIBS.
>Сервер:
>192.168.10.1,192.168.10.2,192.168.10.3 смотрит во внутренюю Сеть
>192.168.129.146 смотрит во внешнюю Сеть - через него идет в Инет
>193.238.152.25 мой ИП для доступа в Инет
>Клиент:
>192.168.11.22 , но могу и другой поставить...
>
>До подключения
>
>root@freebsd# netstat -rn
>Routing tables
>
>Internet:
>Destination Gateway
> Flags
> Refs Use Netif Expire
>
>127.0.0.1 127.0.0.1
> UH
> 0
> 168 lo0
>192.168.10 link#1
> UC
> 0
> 0 rl0
>
>192.168.10.1 00:0e:2e:2f:84:68 UHLW
> 1
> 2 lo0
>192.168.10.2 00:0e:2e:2f:84:68 UHLW 1 18 lo0 =>
>192.168.10.2/32 link#1
> UC
> 0
> 0 rl0
>192.168.10.3 00:0e:2e:2f:84:68 UHLW 1 18 lo0 =>
>192.168.10.3/32 link#1
> UC
> 0
> 0 rl0
>192.168.10.97 00:0a:48:14:98:1d UHLW
> 1 5194
> rl0 370
>192.168.10.98 00:0c:29:cc:55:a1 UHLW
> 1 7857
> rl0 964
>192.168.128/20 link#2
> UC
> 0
> 0 rl1
>192.168.128.2 00:11:2f:cc:6b:b0 UHLW
> 1 1955
> rl1 1199
>192.168.128.253 00:03:47:cc:a2:ec UHLW
> 1 0
> rl1 1200
>192.168.128.254 00:03:47:1d:7f:e6 UHLW
> 1 329
> rl1 1198
>192.168.130.245 00:11:09:f6:c3:12 UHLW
> 1 3
> rl1 1200
>
>после:
>+вот это
>root@freebsd# netstat -rn
>...
>193.238.152.1 193.238.152.25 UH
> 1
> 0 tun0
>
>подключен юзер к МПД...
>+вот это к предыдущей таблице...
>root@freebsd# netstat -rn
>....
>192.168.11.22 192.168.10.1
> UH
>0 0
> ng0
>
>
>root@freebsd# ifconfig|grep -v 'ng'
>rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> options=8<VLAN_MTU>
> 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
> 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
>pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33208
>lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
> inet6 ::1 prefixlen 128
>
> inet6 fe80::1%lo0 prefixlen 64
>scopeid 0x5
> inet 127.0.0.1 netmask 0xff000000
>
>pfsync0: flags=0<> mtu 2020
>tun0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500Тебе надо поднимать NAT на
>193.238.152.25 мой ИП для доступа в Инет
Привет.
>Тебе надо поднимать NAT на
>
>>193.238.152.25 мой ИП для доступа в ИнетЧто бы правильно было понятно - это ИП выделяемый Серверу, для ЕГО, тобиш Сервера, доступ в инет...
А пользователи(ВинХР) конектятся на 192,168,10,1 - это для них ИП для доступа в инет...
Cвязка FreeBSD+FreeRADIUS+FreeNIBS+MPD - все работает.
Сервер подключен в Инет. Пользователи подключаются к Серверу - но не пингуют Инет!!!
Далее подробно, что делаю...
Сеть:
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 mspfctl -d;pfctl -f /etc/pf1.conf;
mpd4;radiusd -x;# ifconfig
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 1500pfctl -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
ничего...
(подключен Инет на Сервере)
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
Пока получается так:
подключаю Инет на Сервере, Там defaultrouter мой выход в Инет, тоесть всем подключившимся доступен Инет, запускаю pf - блокирую на Интерфейсе, который идет в Инет ВЕСЬ трафик, кроме того, который идет на или из Сети в которой выдается выделеный ИП...
Но это же дурное решение!!!
Каждый кто захочет - поменяет ИП и всЕ???
Можно конечно сделать, что бы правила создавались динамически...
Через дерективу мпд запускать скрипты можно, Мороки многовато же!