Есть маршрутизатор CISCO (IOS 12.4 если это зачем-то важно).
Есть вот такая схема сети (связаны два корпоративных сегмента):сеть2 10.0.2.0/24 - router2 - router1 - cеть1 192.168.1.0/24
При этом между сетями должен ходить трафик, но сеть2 принимает пакеты только от адресов 10.0.0.0/8, допустим. Сделать с этим ничего нельзя (router2 недоступен по управлению).
Соответственно на router1 устраиваем статический NAT и всё прекрасно работает:
Int e1
rem сеть1
Ip addr 192.168.1.1/24
Ip nat inside
Int e2
rem к сети2
172.16.0.1/30
Ip nat outside
ip route 10.0.2.0 255.255.255.0 e1
ip nat inside source static network 192.168.1.0 10.0.1.0 /24
Причем трансляция получается "один в один", сохраняются все номера портов и если пакет ушёл из сети1 от адреса, допустим от 192.168.1.10, то в сети2 он виден как пришедший от 10.0.1.10, то же самое для любого адреса - т.е. все отправители пакетов, пришедших в сеть2, там однозначно идентифицируется (что нужно).
а теперь задача усложняется. кроме подключения к сети2 на router1 появляется подключение допустим, к Интернету (сети3).
сеть3 (интернет)
^
|
сеть2 10.0.2.0/24 - router2 - router1 - cеть1 192.168.1.0/24
а в сети1 есть один хост (допустим, 192.168.1.100), который должен как ходить как в сеть 2 по прежней схеме, так и в сеть3 (Интернет). А остальные хосты должны по прежнему ходить в сеть2, но не должны в сеть3.
казалось бы должно сработать что-то вроде:
Int e1
rem сеть1
Ip addr 192.168.1.1/24
Ip nat inside
Int e2
rem в сеть2
172.16.0.1/32
Ip nat outside
Int e3
в сеть 3
1.1.1.1/29
ip nat outside
ip route 10.0.2.0 255.255.255.0 e1
ip route 0.0.0.0 0.0.0.0 1.1.1.2
ip nat inside source static network 192.168.1.0 10.0.1.0 /24
ip nat inside source list 150 int e2 overload
access-list 150 rem описывает весь трафик с 192.168.1.100, кроме отправленного в сеть 10.0.2.0 - и этот трафик должен бы попадать в соответствующую запись nat
access-list 150 deny ip host 192.168.1.100 10.0.2.0 0.0.0.255
access-list 150 permit ip ip host 192.168.1.100 any
Но ничего не получается. Трафик от 192.168.1.100, согласно таблицам трансляции и статистике nat, сначала транслируется в трафик от 10.0.1.100, а потом, если отправлен в произвольную сеть, а не на 10.0.2.0, то вообще никуда не попадает.
Понятно, что что-то делаю не так. Но как получить желаемое иначе - придумать не могу.