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

Исходное сообщение
"Снова детский вопрос"

Отправлено BuxpbSN , 07-Сен-06 11:14 
Согласно Cisco.FAQ пробрасываю внутрь сети трафик с 3640:

interface FastEthernet3/0.40
encapsulation dot1Q 40
ip address 192.168.1.50 255.255.255.0
ip nat inside

interface FastEthernet3/0.80
encapsulation dot1Q 80
ip address 195.222.147.134 255.255.255.252
ip nat outside

ip nat inside source static 192.168.1.30 195.222.147.134 extendable no-alias

Подменяются порты:

innor_cus#sh ip na tr
Pro Inside global         Inside local          Outside local         Outside global
tcp 195.222.147.134:80    192.168.1.30:80       83.219.4.198:1300     83.219.4.198:1300
tcp 195.222.147.134:81    192.168.1.30:81       83.219.4.198:1299     83.219.4.198:1299
--- 195.222.147.134       192.168.1.30          ---                   ---

Почему же такое происходит? Помогите, пожалуйста, разобраться...


Содержание

Сообщения в этом обсуждении
"Снова детский вопрос"
Отправлено Feen , 07-Сен-06 12:50 
Ну а как еще?

Ты по 80-му порту стучишься, сосед по сетке по 80-му порту, все в сетке по 80-му стучатся.

А точка входа одна. Нужно же на ней как-то определять кому внутри что слать.

На пальцах: ты устанавливаешь соединение по 80му порту, наружу это выходит по 1300. Значит то, что придет снаружи по 1300, должно перенаправляться тебе.


"Снова детский вопрос"
Отправлено BuxpbSN , 07-Сен-06 13:05 
Хм... а как я на удалённом хосте перенаправлю из 1300 в 80 порт?

"Снова детский вопрос"
Отправлено Feen , 07-Сен-06 13:10 
>Хм... а как я на удалённом хосте перенаправлю из 1300 в 80
>порт?

А зачем?

Более полно опиши ситуацию, плиз. Что есть, что хочешь сделать и почему возник такой вопрос.


"Снова детский вопрос"
Отправлено BuxpbSN , 07-Сен-06 13:20 
>>Хм... а как я на удалённом хосте перенаправлю из 1300 в 80
>>порт?
>
>А зачем?
>
>Более полно опиши ситуацию, плиз. Что есть, что хочешь сделать и почему
>возник такой вопрос.

Да всё элементарно. В локалке есть вебсервер 192.168.1.30 (порты не только 80). Соответственно нужно прозрачно пробрасывать трафик с циски на сервер и с сервера во внешний мир. Внешний интерфейс - 195.222.147.134.

Для пользователя из "внешнего мира" доступ осуществляется по http://195.222.147.134. А попадать он должен на 192.168.1.30.


"Снова детский вопрос"
Отправлено sh_ , 07-Сен-06 13:24 
Покажите sh run | i http

"Снова детский вопрос"
Отправлено Feen , 07-Сен-06 13:27 
>>>Хм... а как я на удалённом хосте перенаправлю из 1300 в 80
>>>порт?
>>
>>А зачем?
>>
>>Более полно опиши ситуацию, плиз. Что есть, что хочешь сделать и почему
>>возник такой вопрос.
>
>Да всё элементарно. В локалке есть вебсервер 192.168.1.30 (порты не только 80).
>Соответственно нужно прозрачно пробрасывать трафик с циски на сервер и с
>сервера во внешний мир. Внешний интерфейс - 195.222.147.134.
>
>Для пользователя из "внешнего мира" доступ осуществляется по http://195.222.147.134. А попадать он
>должен на 192.168.1.30.

Я что-то подобное и предположил.
Не сделать это под NAT'ом, курите матчасть.


"Снова детский вопрос"
Отправлено BuxpbSN , 07-Сен-06 13:38 
>Не сделать это под NAT'ом, курите матчасть.

Курю-курю...

Получается, policy routing?

Что-то вроде:

route-map RM permit 10
match ip address 5
set ip next-hop 192.168.1.30

access-list 5 permit 195.222.147.134

interface FastEthernet3/0.80
ip address 195.222.147.134 255.255.255.252
ip policy route-map RM

Или я опять неправ?


"Снова детский вопрос"
Отправлено Feen , 07-Сен-06 13:51 
Мне кажется, проще всего сделать так.

Снаружи набирается адрес в виде  http://195.222.147.134:(произвольный номер порта, к примеру 1234)

А внутри настраивается, чтоб пакет пришедший снаружи по порту 1234, маршрутизировался на сервер.

По-моему, больше никак не сделать.



"Снова детский вопрос"
Отправлено Feen , 07-Сен-06 13:55 

• Static translations with ports:

When translating addresses to an interface's address, outside-initiated connections to services on the inside network (like mail) will require additional configuration to send the connection to the correct inside host. This command allows the user to map certain services to certain inside hosts.

ip nat inside source static { tcp | udp } <localaddr> <localport> <globaladdr> <globalport>

Example:
ip nat inside source static tcp 192.168.10.1 25 171.69.232.209 25
In this example, outside-initiated connections to the SMTP port (25) will be sent to the inside host 192.168.10.1.


"Снова детский вопрос"
Отправлено BuxpbSN , 07-Сен-06 13:59 
Так и было в первом посте:

ip nat inside source static 192.168.1.30 195.222.147.134 extendable no-alias


"Снова детский вопрос"
Отправлено BuxpbSN , 08-Сен-06 08:24 
Ну вот совсем элементарный конфиг:

interface FastEthernet3/0.40
encapsulation dot1Q 40
ip address 192.168.1.50 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip flow ingress
ip flow egress
ip nat inside
ip virtual-reassembly
no snmp trap link-status
!
interface FastEthernet3/0.100
encapsulation dot1Q 100
ip address 84.254.209.133 255.255.255.248
no ip redirects
no ip unreachables
ip flow ingress
ip flow egress
ip nat outside
ip virtual-reassembly
no snmp trap link-status
!
ip route 0.0.0.0 0.0.0.0 84.254.209.129
ip nat inside source static tcp 192.168.1.30 81 84.254.209.133 81 extendable no-alias

debug nat:
Sep  8 04:15:10.513: NAT*: o: tcp (84.254.209.100, 2526) -> (84.254.209.133, 81) [27406]    
Sep  8 04:15:10.513: NAT*: o: tcp (84.254.209.100, 2526) -> (84.254.209.133, 81) [27406]
Sep  8 04:15:10.517: NAT*: s=84.254.209.100, d=84.254.209.133->192.168.1.30 [27406]
Sep  8 04:15:13.417: NAT*: o: tcp (84.254.209.100, 2526) -> (84.254.209.133, 81) [27467]
Sep  8 04:15:13.417: NAT*: s=84.254.209.100, d=84.254.209.133->192.168.1.30 [27467]

sh ip nat tr:
Pro Inside global      Inside local       Outside local      Outside global
tcp 84.254.209.133:81  192.168.1.30:81    84.254.209.100:2526 84.254.209.100:2526
tcp 84.254.209.133:81  192.168.1.30:81    ---                ---


"Снова детский вопрос"
Отправлено BuxpbSN , 11-Сен-06 08:25 
Проблема решена.

При создании записи ip nat inside static необходимо выдавать хосту из локальной сети НЕ IP-адрес внешнего интерфейса рутера (т.е. полный портмап не получится сделать), а свободный адрес из той же WAN.

Пример: рутер имеет интерфейс LAN 192.168.1.50/24 и интерфейс WAN 212.120.160.130/24.
Необходимо открыть доступ к ресурсу LAN 192.168.1.45.

Решение: присвоим данному хосту адрес внешней сети: 212.120.160.131/24:

interface eth0
ip address 212.120.160.130 255.255.255.0
ip nat outside
!
interface eth1
ip address 192.168.1.50 255.255.255.0
ip nat inside
!
ip nat inside source static 192.168.1.45 212.120.160.131

Этого достаточно, чтобы подменить адрес 192.168.1.45 на 212.120.160.131. Конфигурировалась 3640 IOS (C3640-IK9O3S-M), Version 12.4(7).

Спасибо всем, кто помогал мне с этой детской задачкой!