В комментариях к одной из статей у читателя возникла просьба рассказать о настрой ке Source NAT на Juniper SRX. Постараюсь здесь рассказать по подробней об этом, как всегда на примере.
Схема следующая:
У нас есть доверенная зона (trust zone) допустим это наша пользовательская подсеть, которую нужно выпустить в интернет. Так же у нас есть не доверенная зона (untrust zone) это собственно сеть оператора — выход в интернет.
Для того что бы выпустить в интернет пользователей потребуется настроить source NAT.
В каждой из зон у нас есть предварительно настроенные интерфейсы, если кратко процесс примерно вот такой:
- Настраиваем на интерфейсе подключенном в сеть оператора связи адрес:
admin@srx# set interfaces ge-0/0/0 unit 0 family inet address 1.1.1.1/24
- Настраиваем на интерфейсе в пользовательской сети адрес:
admin@srx# set interfaces ge-0/0/1 unit 0 family inet address 192.168.0.1/24
- Добавляем интерфейсы в соответствующие зоны:
admin@srx# set security zones security-zone untrust interfaces ge-0/0/0.0
admin@srx# set security zones security-zone trust interfaces ge-0/0/1.0
- Не забываем настроить правила доступа между зоной trust и untrust а так же маршрутизацию.
Теперь можно перейти непосредственно к настройке source NAT:
admin@srx# edit security nat source
- Первым делом создаем rule-set и даем ему произвольное имя, в нашем случае trust-to-untrust:
[edit security nat source] admin@srx# edit rule-set trust-to-untrust
- Указываем из какой зоны будем NATить:
[edit security nat source rule-set trust-to-untrust] admin@srx# set from zone trust
- Указываем в какую зону будем NATить:
[edit security nat source rule-set trust-to-untrust] admin@srx# set to zone untrust
- Теперь создаем непосредственно само правило, даем ему имя src-nat-rule:
[edit security nat source rule-set trust-to-untrust] admin@srx# edit rule src-nat-rule
- Указываем с каких адресов будет происходить трансляция, т.к. в нашем случае она происходит из всей зоны указываем 0.0.0.0/0 в этом случае трансляция будет проходить с любого адреса.
[edit security nat source rule-set trust-to-untrust rule src-nat-rule] admin@srx# set match source-address 0.0.0.0/0
Так же здесь могут указываться другие условия, такие как destination-address или destination-port, естественно их может быть несколько, они перечисляются в квадратных скобках, например:
[edit security nat source rule-set trust-to-untrust rule src-nat-rule] admin@srx# set match destination-address [ 3.3.3.3/32 4.4.4.4/32 ]
- Указываем во что будет происходить трансляция, тут есть несколько вариантов.
Первый — простой используется когда нужно просто выпустить пользователей в сеть под адресом внешнего интефейса (класический вариант офисного маршрутизатора):[edit security nat source rule-set trust-to-untrust rule src-nat-rule] admin@srx# set then source-nat interface
при таком раскладе происходит трансляция просто в адрес интерфейса из зоны untrust.
Второй — трансляция в адрес или пул, может использоваться если нам требуется часть пользователей транслировать в адрес, например, другого оператора. В этом случае даем команду транслировать в определенный пул, с указанием имени этого пула:[edit security nat source rule-set trust-to-untrust rule src-nat-rule] admin@srx# set then source-nat pool SRC-NAT-POOL
После чего, нужно этот пул описать, делается это в ветке source nat:
[edit security nat source] admin@srx# set pool SRC-NAT-POOL address 2.2.2.2/32
Не забываем проверить настройки (show | compare, commit check) и сделать commit (если не уверены commit confirmed) для применения конфигурации.