- PVSM.RU - https://www.pvsm.ru -
Здесь уже есть несоклько статей про настройку маршрутизаторов Juniper SRX (например, раз [1], два [2], три [3] и т.д.). В этой я постараюсь консолидировать полезную информацию, дополнив ее некоторыми приятными мелочами.
Всех заинтересовавшихся прошу под кат.
В мои руки попал новенький Juniper SRX240B и все нижесказанное будет относиться к нему. А т.к. JunOS позиционируется как единая ОС для всей серии (как минимум), то… сами делайте выводы. Также я использую версию JunOS 12.1X46-D20.5 (самая последняя, на момент публикации поста):
cartman@gw-jsrx240# run show version
Hostname: gw-jsrx240
Model: srx240b
JUNOS Software Release [12.1X46-D20.5]
Для начала поставим небольшой круг задач, которые будем решать:
Поехали…
Для настройки source NAT достаточно выполнить следующие команды:
cartman@gw-jsrx240# show security nat | display set
set security nat source rule-set trust-to-untrust from zone trust
set security nat source rule-set trust-to-untrust to zone untrust
set security nat source rule-set trust-to-untrust rule source-nat-rule match source-address 0.0.0.0/0
set security nat source rule-set trust-to-untrust rule source-nat-rule then source-nat interface
Или в виде конфига:
cartman@gw-jsrx240# show security nat
source {
rule-set trust-to-untrust {
from zone trust;
to zone untrust;
rule source-nat-rule {
match {
source-address 0.0.0.0/0;
}
then {
source-nat {
interface;
}
}
}
}
}
При таком конфиге ВСЕ сети, которые будут сконфинурированы на внутренних интерфейсах роутера будут NAT'иться. Если нужно NAT'ить только некоторые, то вместо:
set security nat source rule-set trust-to-untrust rule source-nat-rule match source-address 0.0.0.0/0
нужно написать (пример приведен для сети 172.16.1.0/27):
set security nat source rule-set trust-to-untrust rule source-nat-rule match source-address 172.16.1.0/27
Теперь настроим наш SRX в качестве DHCP сервера. Предполагается, что интерфейсы уже сконфигурированы и нам нужно настроить DHCP сервер только для интерфейса vlan.0:
cartman@gw-jsrx240# show system services dhcp | display set
set system services dhcp maximum-lease-time 21600
set system services dhcp default-lease-time 21600
set system services dhcp pool 172.16.1.0/27 address-range low 172.16.1.2
set system services dhcp pool 172.16.1.0/27 address-range high 172.16.1.30
set system services dhcp pool 172.16.1.0/27 router 172.16.1.1
set system services dhcp propagate-settings vlan.0
Или в виде конфига:
cartman@gw-jsrx240# show system services dhcp
maximum-lease-time 21600;
default-lease-time 21600;
pool 172.16.1.0/27 {
address-range low 172.16.1.2 high 172.16.1.30;
router {
172.16.1.1;
}
}
propagate-settings vlan.0;
В данном случае мы устанавливаем время жизни lease'а в 6 часов (6 * 60 мин * 60 сек = 21600 сек); default gateway делаем 172.16.1.1; начинаем раздавать адреса с 172.16.1.2 и заканчиваем 172.16.1.30 (диапазон, в пределах которого будет работать DHCP сервер).
Эти опции будут действовать только для интерфейса vlan.0. В случае необходимости, его можно заменить на реальное имя интерфейса, например на ge-0/0/1.
Статистику по DHCP серверу можно посмотреть следующей командой:
cartman@gw-jsrx240# run show system services dhcp statistics
Packets dropped:
Total 0
Messages received:
BOOTREQUEST 0
DHCPDECLINE 0
DHCPDISCOVER 0
DHCPINFORM 0
DHCPRELEASE 0
DHCPREQUEST 0
Messages sent:
BOOTREPLY 0
DHCPOFFER 0
DHCPACK 0
DHCPNAK 0
Теперь перейдем к настройке DNS сервера. Начиная с версии Junos OS 12.1x44D10 поддерживается [4] DNS proxy, давайте же его настроим:
cartman@gw-jsrx240# show system services dns | display set
set system services dns forwarders 8.8.8.8
set system services dns forwarders 8.8.4.4
set system services dns dns-proxy interface vlan.0
set system services dns dns-proxy cache gw-jsrx240.HOME.local inet 172.16.1.1
Или в виде конфига:
cartman@gw-jsrx240# show system services dns
forwarders {
8.8.8.8;
8.8.4.4;
}
dns-proxy {
interface {
vlan.0;
}
cache {
gw-jsrx240.HOME.local inet 172.16.1.1;
}
}
Здесь мы настроили работу DNS сервера на интерфейсе vlan.0; создали A-запись для gw-jsrx240.HOME.local (само собой таких записей можно сделать несколько); и настроили DNS forwarders для всех остальных DNS запросов.
Если DNS сервер нужно включить для всех внутренних интерфейсов, то это можно сделать следующим образом (если VLAN'ов несколько, то и настройки нужно делать соответствующие):
cartman@gw-jsrx240# show system name-server | display set
set system name-server 172.16.1.1
Или в виде конфига:
cartman@gw-jsrx240# show system name-server
172.16.1.1;
Статистику по DNS запросам можно посмотреть следующим образом:
cartman@gw-jsrx240# run show system services dns-proxy statistics
DNS proxy statistics :
Status : enabled
IPV4 Queries received : 0
IPV6 Queries received : 0
Responses sent : 0
Queries forwarded : 0
Negative responses : 0
Positive responses : 0
Retry requests : 0
Pending requests : 0
Server failures : 0
Interfaces : vlan.0
Записи в DNS cahce посмотреть вот так (без вывода самого кэша устройства, т.к. записей там очень много):
cartman@gw-jsrx240# run show system services dns-proxy cache
Очистить DNS cache вот так:
cartman@gw-jsrx240# run clear system services dns-proxy cache
Теперь попробуем обезопасить наш SSH сервер (даже если он смотрит наружу) (вместо SSH_RSA_PUBLIC_KEY нужно вставить свой SSH RSA Public Key):
cartman@gw-jsrx240# show system services ssh | display set
set system services ssh root-login deny
set system services ssh protocol-version v2
set system services ssh connection-limit 5
set system services ssh rate-limit 5
cartman@gw-jsrx240# show system login | display set
set system login retry-options tries-before-disconnect 5
set system login retry-options backoff-threshold 1
set system login retry-options backoff-factor 10
set system login retry-options minimum-time 30
set system login user cartman full-name "FIRST_NAME LAST_NAME"
set system login user cartman uid 2000
set system login user cartman class super-user
set system login user cartman authentication ssh-rsa "SSH_RSA_PUBLIC_KEY"
Или в виде конфига:
cartman@gw-jsrx240# show system services ssh
root-login deny;
protocol-version v2;
connection-limit 5;
rate-limit 5;
cartman@gw-jsrx240# show system login
retry-options {
tries-before-disconnect 5;
backoff-threshold 1;
backoff-factor 10;
minimum-time 30;
}
user cartman {
full-name "FIRST_NAME LAST_NAME";
uid 2000;
class super-user;
authentication {
ssh-rsa "SSH_RSA_PUBLIC_KEY"; ## SECRET-DATA
}
}
Пояснения:
Я предпочитаю оставлять root'у возможность входить по паролю, но только через console; остальным пользователям только по ключам с указанными выше ограничениями.
cartman@gw-jsrx240# show security screen | display set
set security screen ids-option untrust-screen icmp ping-death
set security screen ids-option untrust-screen ip source-route-option
set security screen ids-option untrust-screen ip tear-drop
set security screen ids-option untrust-screen tcp syn-flood alarm-threshold 1024
set security screen ids-option untrust-screen tcp syn-flood attack-threshold 200
set security screen ids-option untrust-screen tcp syn-flood source-threshold 1024
set security screen ids-option untrust-screen tcp syn-flood destination-threshold 2048
set security screen ids-option untrust-screen tcp syn-flood timeout 20
set security screen ids-option untrust-screen tcp land
Или в виде конфига:
cartman@gw-jsrx240# show security screen
ids-option untrust-screen {
icmp {
ping-death;
}
ip {
source-route-option;
tear-drop;
}
tcp {
syn-flood {
alarm-threshold 1024;
attack-threshold 200;
source-threshold 1024;
destination-threshold 2048;
timeout 20;
}
land;
}
}
Не забываем сделать commit, иначе никакие изменения не вступят в силу:
cartman@gw-jsrx240# commit check
configuration check succeeds
cartman@gw-jsrx240# commit
commit complete
Итоговый конфиг можно посмотреть ниже. Маршрутизатор обладает всеми необходимыми функциями за вполне уместные деньги.
Если будет выдан инвайт, опишу настройки PPPoE, Dynamic VPN, Site-to-Site VPN и т.д.
Автор: begizardov
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/64891
Ссылки в тексте:
[1] раз: http://habrahabr.ru/company/billing/blog/227317/
[2] два: http://habrahabr.ru/post/166897/
[3] три: http://habrahabr.ru/post/173031/
[4] поддерживается: http://kb.juniper.net/InfoCenter/index?page=content&id=KB21232
[5] ae1.juniper.net/junos/key_retrieval;: https://ae1.juniper.net/junos/key_retrieval;
[6] Источник: http://habrahabr.ru/post/229765/
Нажмите здесь для печати.