Консоль можно подключить как через COM-порт, так и через mini-USB, используя драйвера:
juniper_windows_7_10_64bit.zip
juniper_windows_xp_7_32bit.zip
root@host# load factory-default root@host# set system root-authentication plain-text-password New password: Retype new password:
Это может пригодиться в случае если забыли пароль рута.
loader>boot -s
System watchdog timer disabled. Enter full pathname of shell or 'recovery' for root password recovery or RETURN for /bin/sh: recovery
user@host# set system root-authentication plain-text-password commit
request system reboot
Причину alarm можно посмотреть через команду:
show system alarms
Часто висит ошибка:
Major Host 0 fxp0 : Ethernet Link Down
Ошибка о том, что management interface в дауне.
Она лечится через:
set chassis alarm management-ethernet link-down ignore
Обновление Junos Software и откат(Rollback)
set system host-name jun100
set system time-zone GMT-3
set routing-options static route 0.0.0.0/0 next-hop 46.28.95.129
Заведём пользователя с правами администратора.
set system login user user_name full-name user_full_name set system login user user_name class super-user set system login user user_name authentication plain-text-password
После последней команды система запросит пароль.
Поскольку теперь у нас уже есть пользователь админ, лучше отключить root, т.к. возможен подбор пароля из-вне.
set system services ssh root-login deny
set system ntp boot-server 0.ru.pool.ntp.org
set system ntp server 79.111.152.13
set system ntp server 213.141.154.170
set system ntp server 37.139.41.250
set system ntp server 185.22.60.71
Проверка:
show ntp associations
root@jun100> show ntp associations remote refid st t when poll reach delay offset jitter ============================================================================== *ip-79-111-152-1 .GPS. 1 - 57 64 37 31.755 4.949 8.577 +lan.forstwoof.r 89.109.251.21 2 - 58 64 37 3.646 4.033 8.260 +meerix.ru 130.149.17.8 2 - 57 64 37 11.950 5.081 7.965 +nag.aleksdem.co 131.188.3.220 2 - 56 64 37 11.999 7.692 8.521
show ntp status
root@jun100> show ntp status status=0684 leap_none, sync_ntp, 8 events, event_peer/strat_chg, version="ntpd 4.2.0-a Fri May 6 05:45:14 UTC 2011 (1)", processor="octeon", system="JUNOS10.4R4.5", leap=00, stratum=2, precision=-17, rootdelay=31.755, rootdispersion=6.450, peer=19564, refid=79.111.152.13, reftime=de422cd1.fc9c0be4 Thu, Mar 1 2018 10:40:01.986, poll=6, clock=de422ce9.7896c17c Thu, Mar 1 2018 10:40:25.471, state=3, offset=0.000, frequency=0.000, jitter=10.360, stability=0.000
show system uptime
root@jun100> show system uptime Current time: 2018-03-01 10:40:52 GMT-3 System booted: 2018-03-01 09:55:12 GMT-3 (00:45:40 ago) Protocols started: 2018-03-01 09:57:47 GMT-3 (00:43:05 ago) Last configured: 2018-03-01 10:43:15 GMT-3 (00:-2:-23 ago) by root 10:40AM up 46 mins, 1 user, load averages: 0.04, 0.08, 0.11
show log messages | match ntp
root@jun100> show log messages | match ntp Mar 1 10:43:12 jun100 init: ntp (PID 3572) started
snmp {
description JUN100;
location Moscow;
contact Vladimir;
community public {
authorization read-write;
clients {
192.168.2.49/32;
192.168.0.0/16;
}
}
}
Здесь Public = Comunity.
SNMP должно подхватываться через PRTG, SNMP Traffic.
Рассмотрим случай, когда на интерфейсах VLAN у нас будут висеть адреса:
vlan.100 up down inet 10.0.100.1/24
vlan.200 up up inet 10.0.200.1/24
Тогда настройки DHCP для обоих VLAN будут:
[edit system services dhcp] root@jun100# show traceoptions { file dhcp.dbg; flag all; } pool 10.0.100.0/24 { address-range low 10.0.100.50 high 10.0.100.254; domain-name example.net; name-server { 8.8.8.8; } router { 10.0.100.1; } } pool 10.0.200.0/24 { address-range low 10.0.200.50 high 10.0.200.254; domain-name example.net; name-server { 8.8.8.8; } router { 10.0.200.1; } } [edit system services dhcp]
Проверка
show system services dhcp pool show system services dhcp binding show system services dhcp statistics show system services dhcp conflict
user@host# set system services dhcp traceoptions file dhcp.dbg
user@host# set system services dhcp traceoptions flag all
[edit system syslog] root@jun100# show archive size 100k files 3; user * { any emergency; } file messages { any critical; authorization info; } file interactive-commands { interactive-commands error; } file interface-logs { any any; match ifOperStatus; } file temp_all { any any; } Здесь: - критические сообщения валятся в файл /var/log/messages - interface status в /var/log/interface-logs - временно всё валится в /var/log/temp_all Работа с файлами: - file list /var/log/ detail - show log messages - show log temp_all - monitor start temp_all - monitor stop
[edit system services dns] root@jun100_obn36a# show forwarders { 8.8.8.8; 8.8.4.4; } dns-proxy { interface { vlan.0; vlan.100; } cache { gw-jsrx240.HOME.local inet 172.16.1.1; } }
Здесь vlan.0 и vlan.100 - интерфейсы, с которых он принимает запросы.
gw-jsrx240.HOME.local inet 172.16.1.1 - статическая запись.
Проверка:
show system services dns-proxy statistics
show system services dns-proxy cache
clear system services dns-proxy cache
show version
Наш файл обновления имеет вид:
junos-srxsme-12.3X48-D60.2-domestic.tgz
save pasvftp://vs:691691@192.168.254.35/jun100_12.03.2018.cfg
либо:
show configuration | no-more
show system storage | match cf
Purge logfiles:
request system storage cleanup
Проверяем папку tmp и удаляем всё лишнее:
file list /var/tmp/ file delete /var/tmp/xyz
request system software add no-copy pasvftp://vs:691691@192.168.254.35/junos-srxsme-12.3X48-D60.2-domestic.tgz
Для SRX100b подошла только версия: junos-srxsme-12.1X46-D72.2-domestic.tgz
request system software add no-copy pasvftp://vs:691691@192.168.254.35/junos-srxsme-12.1X46-D72.2-domestic.tgz
Во время копирования на экране не видно что что-то происходит, проверить это можно через:
monitor traffic interface vlan.0 | match 254.35
file copy pasvftp://vs:691691@192.168.254.35/junos-srxsme-12.3X48-D60.2-domestic.tgz /var/tmp/
request system software add no-copy /var/tmp/junos-srxsme-12.3X48-D60.2-domestic.tgz
Прошло на SRX345 с SCP:
file copy scp://vs@10.253.10.50/junos-srxsme-15.1X49-D130.6-domestic.tgz /var/tmp/junos-srxsme-15.1X49-D130.6-domestic.tgz
file list /var/tmp/
request system software add no-copy /var/tmp/junos-srxsme-15.1X49-D130.6-domestic.tgz
request system reboot
root@jun100> show version Hostname: jun100 Model: srx100b JUNOS Software Release [12.1X46-D72.2]
Также см.
SRX Getting Started - Junos Software Installation/Upgrade
https://kb.juniper.net/InfoCenter/index?page=content&id=KB16652&actp=MET...
Каждый интерфейс должен принадлежать зоне.
В одной зоне может находиться более одного интерфейса и значит более одной подсети.
По умолчанию трафик между зонами запрещен и может разрешаться между парами зон.
Если в зоне находятся более одного интерфейса, трафик между ними также необходимо разрешить.
[edit security zones] root@jun100# show security-zone trust { address-book { address server-1 10.0.100.10/32; address my_PC 192.168.2.12/32; address prtg_server 192.168.2.49/32; } host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { vlan.0; vlan.100; } } security-zone untrust { screen untrust-screen; interfaces { fe-0/0/0.0 { host-inbound-traffic { system-services { ping; } } } } } security-zone zone-200 { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { vlan.200; } } [edit security zones]
[edit security policies] root@jun100# show from-zone trust to-zone untrust { policy trust-to-untrust { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy server-access { match { source-address any; destination-address server-1; application junos-http; } then { permit; } } } from-zone trust to-zone trust { policy trust-to-trust { match { source-address any; destination-address any; application any; } then { permit; log { session-init; session-close; } count; } } } from-zone trust to-zone zone-200 { policy trust-to-zone-200 { match { source-address any; destination-address any; application any; } then { permit; log { session-init; session-close; } count; } } } from-zone zone-200 to-zone trust { policy zone-200-to-trust { match { source-address any; destination-address my_PC; application [ junos-ping RDP ]; } then { permit; log { session-init; session-close; } count; } } } from-zone zone-200 to-zone untrust { policy zone-200-to-untrust { match { source-address any; destination-address any; application any; } then { permit; log { session-init; session-close; } count; } } } global { policy default-deny { match { source-address any; destination-address any; application any; } then { deny; log { session-init; } } } } [edit security policies]
Смотрим зоны
show security zones terse
С точки зрения зон важно какие интерфейсы прикручены к зонам.
Это нам позволит определить между какими зона ходит наш трафик.
root@jun100> show security zones Security zone: trust Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Interfaces bound: 2 Interfaces: vlan.0 vlan.100 Security zone: untrust Send reset for non-SYN session TCP packets: Off Policy configurable: Yes Screen: untrust-screen Interfaces bound: 1 Interfaces: fe-0/0/0.0
Вообще следует настроить дефолтную глобальную политику, запрещающую весь трафик и пишущую логи.
Такая политика срабатывает лишь в случае если ни одно из правил основных политик не сработало.
global { policy default-deny { match { source-address any; destination-address any; application any; } then { deny; log { session-init; } } } }
Далее мы включаем логи:
[edit system syslog] root@jun100# show archive size 100k files 3; file default-log-messages { any any; structured-data; }
И можем мониторить или просматривать что получилось:
show log default-log-messages
monitor start default-log-messages
1 2018-03-13T13:35:13.602+03:00 jun100 RT_FLOW - RT_FLOW_SESSION_DENY [junos@2636.1.1.1.2.41 source-address="10.0.200.50" source-port="1719" destination-address="192.168.2.49" destination-port="80" service-name="junos-http" protocol-id="6" icmp-type="0" policy-name="default-deny(global)" source-zone-name="zone-200" destination-zone-name="trust" application="UNKNOWN" nested-application="UNKNOWN" username="N/A" roles="N/A" packet-incoming-interface="vlan.200" encrypted="UNKNOWN" reason="policy deny"] session denied 10.0.200.50/1719->192.168.2.49/80 junos-http 6(0) default-deny(global) zone-200 trust UNKNOWN UNKNOWN N/A(N/A) vlan.200 UNKNOWN policy deny
После этого можно посмотреть что творится на данной паре зон:
show security policies from-zone zone-200 to-zone trust
show security flow session
самое простое - просто разрешить SSH:
security-zone untrust { address-book { address 46.28.95.128/28 46.28.95.128/28; address 89.221.49.48/28 89.221.49.48/28; } screen untrust-screen; interfaces { fe-0/0/0.0 { host-inbound-traffic { system-services { ping; ssh; } } } } }
Но в этом случае любой желающий может подключиться к SSH и подбирать пароль.
Тогда можно сделать следующее:
from-zone untrust to-zone junos-host { policy mgmt-access { match { source-address [ 89.221.49.48/28 46.28.95.128/28 ]; destination-address any; application any; } then { permit; } } policy ping-access { match { source-address any; destination-address any; application junos-icmp-ping; } then { permit; } } policy denyall { match { source-address any; destination-address any; application any; } then { deny; } } }
Здесь, в конце добавлено запрещающее правило, иначе всё разрешается.
Интересно, что в этом случае не срабатывает общее запрещающее правило типа:
global { policy default-deny { match { source-address any; destination-address any; application any; } then { deny; log { session-init; } } } }
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; } } } } } } 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; } } } zones { security-zone trust { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { vlan.0; vlan.100; } } security-zone untrust { screen untrust-screen; interfaces { fe-0/0/0.0 { host-inbound-traffic { system-services { ping; } } } } } } policies { from-zone trust to-zone untrust { policy trust-to-untrust { match { source-address any; destination-address any; application any; } then { permit; } } } } }
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; } } } } } destination { pool dst-nat-pool-1 { address 10.0.100.10/32 port 80; } rule-set rs1 { from zone untrust; rule r1 { match { destination-address 46.28.95.137/32; destination-port 80; } then { destination-nat pool dst-nat-pool-1; } } } } } 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; } } } zones { security-zone trust { address-book { address server-1 10.0.100.10/32; } host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { vlan.0; vlan.100; } } security-zone untrust { screen untrust-screen; interfaces { fe-0/0/0.0 { host-inbound-traffic { system-services { ping; } } } } } } policies { from-zone trust to-zone untrust { policy trust-to-untrust { match { source-address any; destination-address any; application any; } then { permit; } } } from-zone untrust to-zone trust { policy server-access { match { source-address any; destination-address server-1; application junos-http; } then { permit; } } } } }
Show
root@jun100> show security flow session root@jun100> show security flow session nat root@jun100> show security nat source summary
Дополнительно
В случае, если NAT не работает для данной подсети, правила трансляции будут пусты:
root@jun100> show security flow session nat | find 10.0.100 Pattern not found
В случае, если NAT не работает для данной подсети, flow session покажет сессии без трансляций. Т.е. ответ снаружи ожидается на адрес источника.
root@jun100> show security flow session | find 10.0.100 In: 10.0.100.10/6 --> 8.8.8.8/512;icmp, If: vlan.100, Pkts: 1, Bytes: 60 Out: 8.8.8.8/512 --> 10.0.100.10/6;icmp, If: fe-0/0/0.0, Pkts: 0, Bytes: 0
Если NAT нормально работает, ответ от внешних хостов будет адресован на внешний адрес нашего роутера:
root@jun100> show security flow session nat | find 10.0.100 In: 10.0.100.10/22022 --> 8.8.8.8/512;icmp, If: vlan.100, Pkts: 1, Bytes: 60 Out: 8.8.8.8/512 --> 46.28.95.137/24493;icmp, If: fe-0/0/0.0, Pkts: 1, Bytes: 60
root@jun100> show security flow session | find 10.0.100 In: 10.0.100.10/49158 --> 8.8.8.8/512;icmp, If: vlan.100, Pkts: 1, Bytes: 60 Out: 8.8.8.8/512 --> 46.28.95.137/11018;icmp, If: fe-0/0/0.0, Pkts: 1, Bytes: 60
Суть подобного ограничения - поставить его на интерфейс lo0.
set firewall family inet filter local_acl term terminal_access from source-address 195.209.104.0/24 set firewall family inet filter local_acl term terminal_access from source-address 10.0.0.0/8 set firewall family inet filter local_acl term terminal_access from protocol tcp set firewall family inet filter local_acl term terminal_access from port ssh set firewall family inet filter local_acl term terminal_access from port telnet set firewall family inet filter local_acl term terminal_access then accept set firewall family inet filter local_acl term terminal_access_denied from protocol tcp set firewall family inet filter local_acl term terminal_access_denied from port ssh set firewall family inet filter local_acl term terminal_access_denied from port telnet set firewall family inet filter local_acl term terminal_access_denied then log set firewall family inet filter local_acl term terminal_access_denied then reject set firewall family inet filter local_acl term default-term then accept set interfaces lo0 unit 0 family inet filter input local_acl set interfaces lo0 unit 0 family inet address 127.0.0.1/32
Проверка:
clear firewall log
show firewall log
Мы увидим блокированные попытки доступа:
root@imhtst1> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 12:54:35 pfe R ge-0/0/0.0 TCP 195.112.100.134 81.211.66.195 12:54:33 pfe R ge-0/0/0.0 TCP 195.112.100.134 81.211.66.195
Поскольку мы получили рабочий и несложный конфиг, его можно сохранить как Rescue Configuration.
Rescue Configuration - это конфигурация, к которой мы можем вернуться в любое время, это избавляет от необходимости помнить порядковый номер для rollback command.
Сохранение Rescue Configuration
request system configuration rescue save
Восстановление до Rescue Configuration
rollback rescue
либо нажать кнопку Reset config и сразу же её отпустить, то будет загружена rescue configuration.
Если изначально у нас все индикаторы были зелёными:
Сразу после нажатия Status станет оранжевым, и начнется применение Rescue Configuration
После успешного применения Status опять станет зелёным.
Проще всего это сделать через WinSCP
- current and previous 0 to 3 configurations: В папке /config. Тут текущий конфиг будет файл juniper.conf.gz
- 4 to 49 configurations: В папке /var/db/config
Данный файл(ы) можно забрать через WinSCP
Проще всего это сделать через WinSCP
- current and previous 0 to 3 configurations: В папке /config. Тут текущий конфиг будет файл juniper.conf.gz
- 4 to 49 configurations: В папке /var/db/config
Проще всего это сделать через WinSCP
- current and previous 0 to 3 configurations: В папке /config. Тут текущий конфиг будет файл juniper.conf.gz
- 4 to 49 configurations: В папке /var/db/config
Данный файл(ы) можно забрать через WinSCP
Тестировалось на Juniper SRX 345.
Предположим мы полностью потеряли конфигурацию, но у нас есть сохранённый фал конфигурации.
Для аварийного восстановления мы будем использовать ноутбук, куда мы скопируем сохранённый фал конфигурации.
Установим на ноут SCP Server от Solarwinds:
http://ciscomaster.ru/content/juniper-i-server-scp
Помещаем сохранённый фал конфигурации в папку c:\\SFTP_Root
Подключаем ноутбук к management port fxp0.
Даём конфиг на fxp0
set interfaces fxp0 unit 0 family inet address 192.168.1.1/24
На ноут вешаем 192.168.1.2/24
Запускаем SCP Server.
file copy scp://vs@192.168.1.2/imhtst1_VPN_BGP_working_23.05.2018 /var/tmp/ file list /var/tmp/ load override /var/tmp/imhtst1_VPN_BGP_working_23.05.2018 commit
- Для NAT нет трейса
- Почему то не отрабатывает (не видит трафика) monitor traffic interface vlan.100
Полезное:
https://habrahabr.ru/post/229765/
root@jun100_obn36a> show arp
show ethernet-switching table | match 00:12:16:77:f7:53
Комментарии
Есть SRX 240 H1, в процессе
Есть SRX 240 H1, в процессе загрузки я могу вводить команды, смотреть процесс загрузки. Как он прогрузиться на английском языке пишет что - консольный разьем OFF и больше команды не принимает.
Добавить комментарий