URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 94599
[ Назад ]

Исходное сообщение
"FreeBSD router + Cisco 2950 Real ip on port 10"

Отправлено kotofey , 18-Апр-13 16:28 
Приветствую уважаемые!

Есть проблема:

Сервер на 9.1-RELEASE FreeBSD. В него приходит интернет от провайдера.
За сервером находится Cisco Catalyst 2950 (24 порта).

На сервере 2 интерфейса:

bce0 - внешний (ип 217.150.150.140) - в провайдера.
bce1 - внутренний (ип 192.168.0.1) - в циску.

Есть пул белых адресов выданных провайдером (217.150.150.140-145).

На сервере установлен ipfw + natd. Поддержка VLAN есть.

На 10 порту циски есть другой сервер, к которому нужен доступ из мира по ип 217.150.150.145. Т.е. не проброс каких-то портов, а полноценный доступ по внешнему ипу.

Уважаемые, подскажите пожалуйста реализацию данной схемы...


Содержание

Сообщения в этом обсуждении
"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено Miha , 18-Апр-13 18:11 
>[оверквотинг удален]
> За сервером находится Cisco Catalyst 2950 (24 порта).
> На сервере 2 интерфейса:
> bce0 - внешний (ип 217.150.150.140) - в провайдера.
> bce1 - внутренний (ип 192.168.0.1) - в циску.
> Есть пул белых адресов выданных провайдером (217.150.150.140-145).
> На сервере установлен ipfw + natd. Поддержка VLAN есть.
> На 10 порту циски есть другой сервер, к которому нужен доступ из
> мира по ип 217.150.150.145. Т.е. не проброс каких-то портов, а полноценный
> доступ по внешнему ипу.
> Уважаемые, подскажите пожалуйста реализацию данной схемы...

Если вы сетапите сервер с нуля, то крайне рекомендую in-kernel nat, вместо демона.
У меня проброс адреса настроен так

ipfw nat 3 config unreg_only same_ports reset \
                   redirect_addr _internal_ip_ _external_ip_ \
                   redirect_addr _internal_ip2_ _external_ip2_

Ну и в нужном месте в рулесете вставите правила типа

$cmd 6300 nat 3 log ip4 from not me to _external_ip_
$cmd 6310 allow log tcp from not me to _internal_ip_ setup limit src-addr 1
$cmd 6310 allow log icmp ......
.....
.....
$cmd 6399 deny log from not me to _internal_ip_



"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено kotofey , 18-Апр-13 18:31 
>[оверквотинг удален]
>            
>        redirect_addr _internal_ip2_ _external_ip2_
> Ну и в нужном месте в рулесете вставите правила типа
> $cmd 6300 nat 3 log ip4 from not me to _external_ip_
> $cmd 6310 allow log tcp from not me to _internal_ip_ setup limit
> src-addr 1
> $cmd 6310 allow log icmp ......
> .....
> .....
> $cmd 6399 deny log from not me to _internal_ip_

Эту схему я рассматриваю как самый последний вариант...

Хотелось бы узнать как это разрулить с помощью VLAN-per-user, но никак не могу понять как это реализовать на практике...


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено Miha , 18-Апр-13 20:38 
>[оверквотинг удален]
>> $cmd 6300 nat 3 log ip4 from not me to _external_ip_
>> $cmd 6310 allow log tcp from not me to _internal_ip_ setup limit
>> src-addr 1
>> $cmd 6310 allow log icmp ......
>> .....
>> .....
>> $cmd 6399 deny log from not me to _internal_ip_
> Эту схему я рассматриваю как самый последний вариант...
> Хотелось бы узнать как это разрулить с помощью VLAN-per-user, но никак не
> могу понять как это реализовать на практике...

Так вам роутинг нужен. В "вышестоящем роутере" прописать путь. Походу обращайтесь к провайдеру.


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено Silent , 20-Апр-13 14:49 
>[оверквотинг удален]
> За сервером находится Cisco Catalyst 2950 (24 порта).
> На сервере 2 интерфейса:
> bce0 - внешний (ип 217.150.150.140) - в провайдера.
> bce1 - внутренний (ип 192.168.0.1) - в циску.
> Есть пул белых адресов выданных провайдером (217.150.150.140-145).
> На сервере установлен ipfw + natd. Поддержка VLAN есть.
> На 10 порту циски есть другой сервер, к которому нужен доступ из
> мира по ип 217.150.150.145. Т.е. не проброс каких-то портов, а полноценный
> доступ по внешнему ипу.
> Уважаемые, подскажите пожалуйста реализацию данной схемы...

Если есть свободные порты на коммутаторе, то самый простой способ, по моему мнению, следующий: на коммутаторе создайте новый вилан, uplink со стороны IPS из FreeBSD подключите в порт коммутатора (к примеру f0/24), FreeBSD опять же подключите в коммутатор (f0/23), "другой сервер" в f 0/22. Порты f0/22-24 поместите в новый vlan. Все.

т.е.

SW1(config)#vlan 9
SW1(config-vlan)#name REALNET
SW1(config-vlan)# int range fa 0/22-24
SW1(config-if-range)# switchport mode access
SW1(config-if-range)# switchport vlan 9
SW1(config-if)# int fa 0/24
SW1(config-if)# description ISP
SW1(config-if)# int fa 0/23
SW1(config-if)# no cdp enable
SW1(config-if)# description FreeBSD
SW1(config-if)# int fa 0/22
SW1(config-if)# description Server

Удачи!


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено Silent , 20-Апр-13 14:52 
>[оверквотинг удален]
> SW1(config-if-range)# switchport mode access
> SW1(config-if-range)# switchport vlan 9
> SW1(config-if)# int fa 0/24
> SW1(config-if)# description ISP
> SW1(config-if)# int fa 0/23
> SW1(config-if)# no cdp enable
> SW1(config-if)# description FreeBSD
> SW1(config-if)# int fa 0/22
> SW1(config-if)# description Server
> Удачи!

Ошибся немного.

SW1(config-if)# int fa 0/24
SW1(config-if)# description ISP
SW1(config-if)# no cdp enable

а f0/22 замените конечно на f 0/10, т.к. к нему уже подключен сервер.


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено ant , 20-Апр-13 15:18 
>[оверквотинг удален]
> SW1(config-if-range)# switchport mode access
> SW1(config-if-range)# switchport vlan 9
> SW1(config-if)# int fa 0/24
> SW1(config-if)# description ISP
> SW1(config-if)# int fa 0/23
> SW1(config-if)# no cdp enable
> SW1(config-if)# description FreeBSD
> SW1(config-if)# int fa 0/22
> SW1(config-if)# description Server
> Удачи!

SW1(config-if-range)# switchport access vlan 9


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено kotofeych , 25-Апр-13 15:46 
>[оверквотинг удален]
>> SW1(config-if-range)# switchport vlan 9
>> SW1(config-if)# int fa 0/24
>> SW1(config-if)# description ISP
>> SW1(config-if)# int fa 0/23
>> SW1(config-if)# no cdp enable
>> SW1(config-if)# description FreeBSD
>> SW1(config-if)# int fa 0/22
>> SW1(config-if)# description Server
>> Удачи!
> SW1(config-if-range)# switchport access vlan 9

А на FreeBSD нужно что-то делать? Может нужно создать такой же VLAN?


"FreeBSD router + Cisco 2950 Real ip on port 10"
Отправлено Silent , 26-Апр-13 15:34 
>[оверквотинг удален]
>>> SW1(config-if)# int fa 0/24
>>> SW1(config-if)# description ISP
>>> SW1(config-if)# int fa 0/23
>>> SW1(config-if)# no cdp enable
>>> SW1(config-if)# description FreeBSD
>>> SW1(config-if)# int fa 0/22
>>> SW1(config-if)# description Server
>>> Удачи!
>> SW1(config-if-range)# switchport access vlan 9
> А на FreeBSD нужно что-то делать? Может нужно создать такой же VLAN?

Зачем? У Вас на коммутаторе будут по крайне мере два VLAN-а. Один для реальной сетки (217.150.150.0/24, я не знаю ваш префикс), и второй для приватной(192.168.1.0/24). В рельной три порта коммутатора: FreeBSD (bce0 217.150.150.140), uplink от провайдера (217.150.150.1 - допустим), новый сервер (217.150.150.145). В приватной сети ваши рабочие станции и FreeBSD (bce1 192.168.0.1/24). На FreeBSD ничего изменять не нужно, он так и останется в качестве маршрутизатора с NAT-ом.