Задача:
Пробросить веб-сервер поднятый на FreeBSD 5.4 через cisco 1841 наружу и организовать максимальную защиту с помощью 1841.Условия:
Веб-сервер включен в 2960, а свитч в 1841.
Веб-сервер должен быть доступен как с lan так и с wan.
Имется один внешний адрес: 100.100.100.101 255.255.255.252.
Для проброса ISP выделил подсеть под алиасы: 100.100.100.96/29.
Исходя из условий безпасности запрещено навешивать на fa0/1 внешниее адреса (.На веб-сервере rc.conf:
#
ifconfig_rl0="inet 192.168.10.49 netmask 255.255.255.0"
ifconfig_rl0_alias0="inet 100.100.100.98 netmask 255.255.255.248"
defaultrouter="100.100.100.97"
#На 1841:
!
interface FastEthernet0/0
description Connection to wan
ip address 100.100.100.101 255.255.255.252
ip access-group internet in
ip nat outside
...
!
interface FastEthernet0/1
description Connection to LAN
ip address 100.100.100.97 255.255.255.248 secondary
ip address 192.168.10.254 255.255.255.0
ip access-group inside in
ip nat inside
...
!
ip route 0.0.0.0 0.0.0.0 100.100.100.100
ip route 100.100.100.0 255.255.255.248 FastEthernet0/0
!
ip nat inside source list nat interface FastEthernet0/0 overload
ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
...
!
ip access-list extended inside
permit ip any any
deny ip any any log
!
ip access-list extended internet
permit tcp 192.168.10.49 255.255.255.0 eq www
permit tcp 100.100.100.98 255.255.255.248 any eq www
...
deny ip any any
!ip access-list extended nat
permit ip host 192.168.10.49 any
permit ip host 192.168.10.50 any
permit ip host 100.100.100.98 any
...
deny ip any anyВ итоге эта схема не работает.
Подскажите как реализовать этот вариант, а также как можно реализовать через Vlan-ы с максимальной защитой LAN.
Ну вы и навертели...>Исходя из условий безпасности запрещено навешивать на fa0/1 внешниее адреса (
Ну дак а чо они висят? Зачем нат какой-то изобретать? Пустите к серверу ACL-ем трафик только на 80 порт и успокойтесь. И роутинг там у вас невнятный какой-то - наверное вы ошиблись, когда реальные адреса забивали болванкой 100.100.100..
>В итоге эта схема не работает.
>Подскажите как реализовать этот вариант, а также как можно реализовать через Vlan-ы
>с максимальной защитой LAN.ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
замените на
ip nat inside source static tcp 100.100.100.98 80 interface FastEthernet0/0 80
>>В итоге эта схема не работает.
>>Подскажите как реализовать этот вариант, а также как можно реализовать через Vlan-ы
>>с максимальной защитой LAN.
>
>
>
>ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
>
>замените на
>
>ip nat inside source static tcp 100.100.100.98 80 interface FastEthernet0/0 80
А для чего ifconfig_rl0_alias0="inet 100.100.100.98 netmask 255.255.255.248"? И зачем вообще алиасы из сети 100.100.100.х?Вы же можете сделать
ip nat inside source static tcp 192.168.10.49 80 interface FastEthernet0/0 80
Локальные адреса выставлять наружу мне запретили (черевато взломом lan).
А алиасы рекомендовал использовать ISP и повесить алиас на fa0/1 и веб-сервер(он должен быть доступен в lan с маской /24 , а с наружи с маской /29).
Но и вариант с алиасом на fa0/1 мне запретили использовать (не проходит по безопасности).К тому же немогу убрать:
ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
Говорит:
%Static entry in use, cannot change
Чего ток не пробывал: весь нат убирал, гасил инт. fa0/0. Безрезультатно, а конфиг то успел сохранить (.Соответсвенно не получается добавить:
ip nat inside source static tcp 100.100.100.98 80 interface FastEthernet0/0 80
Есть командочка после которой мож убить нат. Кажется
clear ip nat translation
попробуй, если не получится, тогда поищу>К тому же немогу убрать:
>ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
>Говорит:
>%Static entry in use, cannot change
>Чего ток не пробывал: весь нат убирал, гасил инт. fa0/0. Безрезультатно, а
>конфиг то успел сохранить (.
>
>Соответсвенно не получается добавить:
> ip nat inside source static tcp 100.100.100.98 80 interface FastEthernet0/0 80
>
>
>
>
>Есть командочка после которой мож убить нат. Кажется
>clear ip nat translation
>попробуй, если не получится, тогда поищу
>
>>К тому же немогу убрать:
>>ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
>>Говорит:
>>%Static entry in use, cannot change
>>Чего ток не пробывал: весь нат убирал, гасил инт. fa0/0. Безрезультатно, а
>>конфиг то успел сохранить (.
>>
>>Соответсвенно не получается добавить:
>> ip nat inside source static tcp 100.100.100.98 80 interface FastEthernet0/0 80
>>clear ip nat translation убивает только динамические трансляции.
Для того чтобы убить используемую статическую трансляцию надо интерфейс shutdownить. Ну или устройство перезагружать.
>Для того чтобы убить используемую статическую трансляцию надо интерфейс shutdownить. Ну или
>устройство перезагружать.
Совершенно верно - необходимо опустить интерфейс fa0/0.
Также необходимо в моем случае убрать secondary address с fa0/1 (вот именно он и дежал статический нат).(config)#int fa0/1
(config-if)#no ip address 100.100.100.97 255.255.255.248 secondary
(config-if)#exit
(config)#int fa0/0
(config-if)#shut
(config-if)#exit
(config)#no ip nat inside source static tcp 100.100.100.97 80 interface FastEthernet0/0 80
(config)#int fa0/0
(config-if)#no shut
Зачем мудрить???
Типичный случай - есть 1 внейний ип (100.100.100.101), и 1 внутренний (192.168.10.49), сервис (порт) c которого нужно пробросить наружу (inside-to-outside static PAT).Делай рас:
#(config) ip nat inside source static tcp 100.100.100.101 80 192.168.10.49 80 extendable
#(config) int fa0/0 //(тот на котором 192.168.10.0/24 сетка, тобиш локальный(внутренний))
#(config-if) ip nat inside
#(config) int fa0/1 //(тот на котором внешний ип - 100.100.100.101, тобиш внешний)
#(config-if) ip nat outsideВот и все!!!
P.S.: я просто не разбирался какие интерфейсы у тебя за что отвечают, но суть тут проста - пакеты с мира с dst=100.100.100.101:80 будут натиться (точнее PAT'иться) на dst=192.168.10.49:80, но наоборот)))) (так как outside int у тебя внешний, а инсайд - внутренний - будет source translation).
Тоесть в дебаге будит что-то вроде:
s=100.100.100.101->192.168.10.49Ну естественно DoS на твой web-server циска не переживет.
>Зачем мудрить???
>
[skipped]>Ну естественно DoS на твой web-server циска не переживет.
А CBAC, IPS и иже с ними уже отменили?
>А CBAC, IPS и иже с ними уже отменили?Это вы к чему сказали???
DoS на web завалит саму циску (без ната, vpn'ов(remote access) и пр. DoS проходит либо до самих серверов либо падают каталисты ~30-60kpp/s). Этот нюанс просто очень важен для провайдеров...тоесть либо ложится сервис, либо сегмент или даже часть АС. Конечному пользователю это может быть не столь важно.
А решение с PAT'ом наиболее просоте и эффективное в таких ситуациях.
>>А CBAC, IPS и иже с ними уже отменили?
>
>Это вы к чему сказали???
>
>DoS на web завалит саму циску (без ната, vpn'ов(remote access) и пр.
>DoS проходит либо до самих серверов либо падают каталисты ~30-60kpp/s). Этот
>нюанс просто очень важен для провайдеров...тоесть либо ложится сервис, либо сегмент
>или даже часть АС. Конечному пользователю это может быть не столь
>важно.
>
>А решение с PAT'ом наиболее просоте и эффективное в таких ситуациях.
>Еще раз
http://www.cisco.com/pcgi-bin/search/search.pl?searchPhrase=...
http://www.cisco.com/pcgi-bin/search/search.pl?searchPhrase=...
>Делай рас:
>#(config) ip nat inside source static tcp 100.100.100.101 80 192.168.10.49 80 extendableСделал, в результать:
веб-сервер(FreeBSD) неможет пропинговать ни lan ни wan (no route to host).
но хосты из локалки и роутер пингуют веб-сервер.Возможно проблема с маршрутизацией на веб-сервере, но если убрать этот нат, то сразу веб пингует локалку.
>>Делай рас:
>>#(config) ip nat inside source static tcp 100.100.100.101 80 192.168.10.49 80 extendable
>
>Сделал, в результать:
>веб-сервер(FreeBSD) неможет пропинговать ни lan ни wan (no route to host).
>но хосты из локалки и роутер пингуют веб-сервер.
>
>Возможно проблема с маршрутизацией на веб-сервере, но если убрать этот нат, то
>сразу веб пингует локалку.sorry...
не!
#(config) ip nat inside source static tcp 100.100.100.101 80 192.168.10.49 80
а!
(config)# ip nat inside source static tcp 192.168.10.49 80 100.100.100.101 80вот!
>Задача:
>Пробросить веб-сервер поднятый на FreeBSD 5.4 через cisco 1841 наружу и организовать
>максимальную защиту с помощью 1841.
>
>Условия:
>Веб-сервер включен в 2960, а свитч в 1841.
>Веб-сервер должен быть доступен как с lan так и с wan.
>Имется один внешний адрес: 100.100.100.101 255.255.255.252.
>Для проброса ISP выделил подсеть под алиасы: 100.100.100.96/29.
т.е. получается у тебя все-таки не один внешний адрес?
>Исходя из условий безпасности запрещено навешивать на fa0/1 внешниее адреса (.
раскажи, в чем может быть угроза безопасности?>В итоге эта схема не работает.
>Подскажите как реализовать этот вариант, а также как можно реализовать через Vlan-ы
>с максимальной защитой LAN.#на кошке убиваешь адрес
interface FastEthernet0/1
no ip address 100.100.100.97 255.255.255.248
exi
#поднимаешь cабинтерфейс
interface FastEthernet0/1.2
encapsulation dot1Q 2
ip address 100.100.100.97 255.255.255.248
exi#на каталисте создаешь вилан 2
interface vlan2
no ip address
exiint fast 0/1 # предположим тут у тебя проутер
switchport mode trunk
switchport trunk allowed vlan 1,2
switchport trunk native vlan 1
exi
int fast 0/2 # тут сервак
switchport mode trunk
switchport trunk allowed vlan 1,2
switchport trunk native vlan 1
exi
после этого у тебя должен появится тэгированный вилан номер 2 в 1м и 2м порут каталиста.
далее FreeBSD
ifconfig rl0 -alias 100.100.100.98
ifconfig vlan create
если он тебе посылает то попробуй kldload vlan
ifconfig vlan0 inet 100.100.100.98/29 vlan 2 vlandev rl0
ping 100.100.100.97
Должен пинговаться
если нет то tcpdump -ni rl0 и пингуй с циски и фряхи. Смотри что куда ходит.
В /etc/rc.conf это прописывается так:
cloned_interfaces="vlan0"
ifconfig_vlan0="100.100.100.98/29 vlan 2 vlandev rl0"писал так, сходу. поэтому могут быть синтаксические ошибки.
вобщем если что стучи в jabber: viruzzz@jabber.whiteants.net. Иногда бываю в аське 227656250.
>Для проброса ISP выделил подсеть под алиасы: 100.100.100.96/29.
т.е. получается у тебя все-таки не один внешний адрес?
>Исходя из условий безпасности запрещено навешивать на fa0/1 внешниее адреса (.
раскажи, в чем может быть угроза безопасности?Внешний адрес один из подсети /30.
В примере:
100.100.100.101 255.255.255.252 - ip on fa0/0
100.100.100.100 255.255.255.252 - ISP gatewayНо ISP выделил еще под мои нужды и подсеть/29, но с условием чтобы в своей сети(т.е. ISP-а) он не должен видеть ни каких бродкастов от подсетисети /29.
Спасиб за пример, буду пробывать.
clear ip nat translation forced
>clear ip nat translation forcedСпасибо, так получилось.
Сделал по примеру, получилось.
На свитче 2960 поднял Vlan 2 и добавил в него порт в который включен веб-сервер:
!
interface FastEthernet0/8
description -=Conect to WEB_SRV=-
switchport trunk native vlan 2
switchport trunk allowed vlan 1,2
switchport mode trunk
!
interface GigabitEthernet0/1
description -=Conect to Cisco 1841=-
switchport trunk allowed vlan 1,2
switchport mode trunk
!На роутере:
#fa0/0 - порт смотрящий в WAN
#fa0/1 - порт смотрящий в LAN
!
interface FastEthernet0/0
description Connection to wan
ip address 100.100.100.101 255.255.255.252
ip access-group internet in
ip nat outside
...
!
interface FastEthernet0/1
description Connection to LAN
ip address 192.168.10.254 255.255.255.0
ip access-group inside in
ip nat inside
!
#Поднял саб интерфейс fa0/1.2:
!
interface FastEthernet0/1.2
encapsulation dot1Q 2
ip address 100.100.100.97 255.255.255.248
no snmp trap link-status
!
...
ip route 0.0.0.0 0.0.0.0 100.100.100.100
ip route 100.100.100.0 255.255.255.248 FastEthernet0/0
!
На веб-сервере, rc.conf:
defaultrouter="100.100.100.97" #т.е. саб инт.Пингую:
c 2960 саб инт. (Fa0/1.2) и веб-сервер по алиасу - ОК!
с роутера веб-сервер по алиасу - ОК! (100.100.100.98 /29 )
с веб-сервера соответсвенно подсеть /24 (LAN) не пингуется - ОК, пингуется токо fa0/1.2. Внешний инт. fa0/0 не пингует: "No route to host".
Как быть, чтоб открыть доступ к веб-серверу из вне.
Пробывал статический нат:
ip nat inside source static 100.100.100.97 int fa0/0 а также пат, не помогло.
Так же пробывал через анонимный прокси зайти на веб-сервер по его адресу - аналогично.
>Сделал по примеру, получилось.
>На свитче 2960 поднял Vlan 2 и добавил в него порт в
>который включен веб-сервер:
>!
>interface FastEthernet0/8
> description -=Conect to WEB_SRV=-
> switchport trunk native vlan 2
> switchport trunk allowed vlan 1,2
> switchport mode trunk
>!
>interface GigabitEthernet0/1
> description -=Conect to Cisco 1841=-
> switchport trunk allowed vlan 1,2
> switchport mode trunk
>!
>
>На роутере:
>#fa0/0 - порт смотрящий в WAN
>#fa0/1 - порт смотрящий в LAN
>!
>interface FastEthernet0/0
>description Connection to wan
>ip address 100.100.100.101 255.255.255.252
>ip access-group internet in
>ip nat outside
>...
>!
>interface FastEthernet0/1
>description Connection to LAN
>ip address 192.168.10.254 255.255.255.0
>ip access-group inside in
>ip nat inside
>!
>#Поднял саб интерфейс fa0/1.2:
>!
>interface FastEthernet0/1.2
> encapsulation dot1Q 2
> ip address 100.100.100.97 255.255.255.248
> no snmp trap link-status
>!
>...
>ip route 0.0.0.0 0.0.0.0 100.100.100.100
>ip route 100.100.100.0 255.255.255.248 FastEthernet0/0
>!
>На веб-сервере, rc.conf:
>defaultrouter="100.100.100.97" #т.е. саб инт.
>
>Пингую:
>c 2960 саб инт. (Fa0/1.2) и веб-сервер по алиасу - ОК!
>с роутера веб-сервер по алиасу - ОК! (100.100.100.98 /29 )
>с веб-сервера соответсвенно подсеть /24 (LAN) не пингуется - ОК, пингуется токо
>fa0/1.2. Внешний инт. fa0/0 не пингует: "No route to host".
>
>
>Как быть, чтоб открыть доступ к веб-серверу из вне.
>Пробывал статический нат:
>ip nat inside source static 100.100.100.97 int fa0/0 а также пат, не
>помогло.
>Так же пробывал через анонимный прокси зайти на веб-сервер по его адресу
>- аналогично.
>
Зачем все так усложнять??? Сделай PAT как я показывал (как написано в примере) да и все (тем более что нужно задействовать всего 1 внешний ип).
>Зачем все так усложнять??? Сделай PAT как я показывал (как написано в
>примере) да и все (тем более что нужно задействовать всего 1
>внешний ип).
Сделал PAT по вашему примеру, ток уже с VLAN (интересно стало):(config)#:int fa0/1.2
(config)#:ip nat inside
(config)#:ip nat inside source static tcp 100.100.100.98 80 100.100.100.101 80 extendable
(config)#:ip nat inside source static tcp 100.100.100.101 80 100.100.100.98 80 extendable100.100.100.101 - адрес на fa0/0
100.100.100.98 - адрес веб-сервераrc.conf:
defaultrouter="100.100.100.101"
Результат - отрицательный
Все получилось. Всем спасибо за участие.
Отдельное спасибо за пример с VLAN.По поводу PAT:
(config)# ip nat inside source static tcp 192.168.10.49 80 100.100.100.101 80 (этого достаточно)+ в ACL на внешнем интерфейсе (fa0/0) добавил:
permit tcp any host 100.100.100.101 eq www