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

Исходное сообщение
"Доступ из сети в эту же сеть через NAT"

Отправлено drTr0jan , 08-Июн-11 14:25 
Есть Cisco 871 12.4(15)T6 - 192.168.0.1/24, 10.0.0.1
Есть WEB-сервер - 192.168.0.2/24
Есть клиентская машина - 192.168.0.100/24

http://img-fotki.yandex.ru/get/5908/drtr0jan.0/0_72be9_4a72d...

Необходимо, что бы при запросе с клиентской машины адреса http://10.0.0.1 открывался собственно сайт с этого сервера.

На кошке проброшен снаружи 80ый порт для web-сервера:
ip nat inside source static tcp 192.168.0.2 80 10.0.0.1 80 extendable no-payload

Включён PAT для выхода клиентских машин в инет:
interface FastEthernet4.82
description TTK-DV
encapsulation dot1Q 82
ip address 10.0.0.1 255.255.255.252
ip nat outside
ip virtual-reassembly
no cdp enable
!
interface Vlan1
description $ETH-SW-LAUNCH$$INTF-INFO-HWIC 4ESW$
ip address 192.168.0.1 255.255.255.0
ip nat inside
ip virtual-reassembly
!
ip nat inside source route-map NAT-TTK interface FastEthernet4.82 overload
!
access-list 8 remark NAT
access-list 8 permit 192.168.0.0 0.0.0.255
!
route-map NAT-TTK permit 10
match ip address 8
match interface FastEthernet4.82

В этой конфигурации 10.0.0.1:80 из внутрисети не открывается. :(
DNS ALG и Bind view не предлагать.


Содержание

Сообщения в этом обсуждении
"Доступ из сети в эту же сеть через NAT"
Отправлено gagner , 08-Июн-11 16:37 
Нат отрабатывает при прохождении пакета через пару интерфейсов - в вашем случае это не так, поэтому нат не работает.

Я сталкивалась с похожей задачей, описание решения есть вот тут вот:http://www.opennet.me/openforum/vsluhforumID6/20807.html?n=g...


"Доступ из сети в эту же сеть через NAT"
Отправлено drTr0jan , 09-Июн-11 13:55 
Ага, спасибо. Правда не очень понял без рисунка - пять раз перечитал.
Но у меня что-то с NVI (ip nat enable) вообще PAT не работает.



"Доступ из сети в эту же сеть через NAT"
Отправлено sm00th1980 , 08-Июн-11 17:47 
1) короче вам нужно создать route-map который перенаправит на другой next-hop 192.168.0.2 при обращении на 10.0.0.1:80 tcp

2) на сервере с web-сервером обязательно поднять альясом 10.0.0.1 и чтобы на этом адресе тоже слушал вебсервер - т.к. пакет придёт именно по этому адресу от клиента и если его не будет на L3-уровне он будет отброшен даже не дойдя по web-уровня.

вроде всё.


"Доступ из сети в эту же сеть через NAT"
Отправлено drTr0jan , 09-Июн-11 05:51 
> 1) короче вам нужно создать route-map который перенаправит на другой next-hop 192.168.0.2
> при обращении на 10.0.0.1:80 tcp

Что-то не работает route-map. На 192.168.0.2 пакеты так и не приходят (tcpdump'ом слушаю).

interface Vlan1
description $ETH-SW-LAUNCH$$INTF-INFO-HWIC 4ESW$
ip address 192.168.0.1 255.255.255.0
ip nat inside
ip virtual-reassembly
ip policy route-map TUN-TO-NAT
!
access-list 131 permit ip any host 10.0.0.1
!
route-map TUN-TO-NAT permit 10
match ip address 131
set ip next-hop 192.168.0.2

Единственное, что на сервере с web-сервером поднял альясом 10.0.0.1/32. Но маска, как понял, не должна иметь значения.


"Доступ из сети в эту же сеть через NAT"
Отправлено sm00th1980 , 09-Июн-11 08:31 
да маска не должна играть роли - это правда.

Внешне вроде всё в конфиге route=map корректно - если я ничего не напутал.

Первое что надо сделать - это глянуть а access-list что-нить вообще попадает?

там что-то будет в духе:
show access-list 131


"Доступ из сети в эту же сеть через NAT"
Отправлено drTr0jan , 09-Июн-11 08:57 
> Первое что надо сделать - это глянуть а access-list что-нить вообще попадает?
> там что-то будет в духе:
> show access-list 131

Попадает...

Extended IP access list 131
    10 permit ip any host 10.0.0.1 (3 matches)

Это само-собой при обращении 192.168.0.100 -> 10.0.0.1:80

Но что забавно, при пинге 192.168.0.100 -> 10.0.0.1 отвечает именно циска, а не сервер (192.168.0.2).

Route-map и не отрабатывает:

cisco#sh route-map TUN-TO-NAT
route-map TUN-TO-NAT, permit, sequence 10
  Match clauses:
    ip address (access-lists): 131
  Set clauses:
    ip next-hop 192.168.0.2
  Policy routing matches: 0 packets, 0 bytes


"Доступ из сети в эту же сеть через NAT"
Отправлено sm00th1980 , 09-Июн-11 11:09 
мне кажется(это предположение) что косяк в том что адрес 10.0.0.1 висит на loopback-е короче самой циски. Т.е. обработка роутинг собственных адресов идёт до обработки route-map-ы. Попробуйте поменять адрес на outside на другой(временно) и посмотрим сработает ли в этом случае route-map-а.

Роутинг на собственные адреса идёт типа через process switching и вполне может быть что имеет приоритет над route-map. Но я не уверен честно говоря.


"Доступ из сети в эту же сеть через NAT"
Отправлено drTr0jan , 09-Июн-11 11:17 
Да понятно, что косяк по этой причине. Собственно, смена outside адреса это доказала - всё прекрасно работает.
Но как этот косяк устранить?



"Доступ из сети в эту же сеть через NAT"
Отправлено drTr0jan , 09-Июн-11 11:40 
Порядок прохождения пакетов: http://etherealmind.com/cisco-ios-order-of-operation/

Пытался повесить правило на локальный PBR:

ip local policy route-map TTK-DATA
!
route-map TTK-DATA permit 5
match ip address 131
set ip next-hop 192.168.0.2
!
access-list 131 permit tcp host 192.168.0.100 host 10.0.0.1 eq www

Тож не работает. :(


"Доступ из сети в эту же сеть через NAT"
Отправлено sm00th1980 , 09-Июн-11 12:19 
ну как бы логика порядка отработки уже зашита в IOS самом - её нельзя поменять. Можно только какие-то обходные пути использовать - как-то смена адреса на outside. Или изменение условий задачи.