仕事で新拠点と既存拠点をVPNで接続する必要が出てきました。
以前に設定した人は退職し、ドキュメントも一切残っていませんでした。
かろうじてrootのパスワードが判ったので、既存の設定を抜き出して試行錯誤でセットアップしたときの備忘録です。
新拠点は稼働しましたが、まだおかしなところもありそうなので現在進行形の情報です。
具体的な設定内容は差し障りがあるので、操作方法を中心に書いてあります。
関連情報
Configuring Network Interfaces(juniper)
操作手順
基本的な操作
3つのモードで操作することができます。
JUNOSコマンドが使用できるモードはオペレーションモードとコンフィグレーションモード。
シェルコマンドモードではUNIXコマンド(FreeBSD)を使用。
Tabキーによるコマンド補完が効きます。
Thu Jan 20 11:20:39 GMT+9 2022
HakataBranch (ttyu0)
login: root
Password:
--- JUNOS 10.3R2.11 built 2010-11-19 00:48:47 UTC
root@XXXXX%
操作モード | プロンプト | 説明 |
---|---|---|
シェルコマンド | % | FreeBSDのシェルにアクセスできるモード。 |
オペレーション | > | ソフトウェア、ネットワーク接続性、ハードウェアのステータス確認とモニター |
コンフィグレーション | # | JUNOSを設定(追加、変更、削除)する時のモード |
オペレーションモードに移行したい場合はcliと入力
コンフィグレーションモードに移行したい場合configureと入力
起動・停止
JUNOS(Juniper)はFreeBSDがベースのOSであり、通常のPCやLinuxマシンと同じく、シャットダウン処理が必要です。
- コマンドラインからのシャットダウン
- コンソール(TeraTerm等でコンソールケーブル経由)で機器にログインします。
※シリアル接続の Baud rate=9600 を設定してください。 - root ユーザでログインし、以下のコマンドを実行します。
- コンソール(TeraTerm等でコンソールケーブル経由)で機器にログインします。
root@XXXXXX% cli
root@XXXXXX> request system power-off
root@XXXXXX> Power Off the system ? [yes,no] (no) yes
↑ Yes を入力します。
(以下のメッセージを出力した後、電源が落ちます。約1分)
[2022-01-20 17:59:16.664] root@XXXXX> request system power-off
[2022-01-20 17:59:30.167] Power Off the system ? [yes,no] (no) yes
[2022-01-20 17:59:32.649]
[2022-01-20 17:59:32.906] Shutdown NOW!
[2022-01-20 17:59:32.920] [pid 1095]
(省略)
[2022-01-20 18:00:01.094] The operating system has halted.
[2022-01-20 18:00:01.127] Turning the system power off.
root@XXXXXX> request system reboot
各種設定
設定の確認方法
1. 設定の表示(SETモード)
オペレーションモードで show configuration コマンド
root@XXXXXX> show configuration | display set | no-more
SETモードで表示される。「no-more」を付けないと画面毎に表示が止まる。
このまま、コンソールから投入できるので便利。
set version 10.4R6.5
set system host-name HakataBranch
set system time-zone GMT+9
set system login user qiitaadm uid 2002
set system login user qiitaadm class super-user
2. 設定の表示(階層モード)
root@XXXXXX> show configuration | no-more
階層モードで表示される。「no-more」を付けないと画面毎に表示が止まる。
階層で表示されるので見やすい。
version 12.1X44-D35.5;
system {
host-name HakataBranch;
time-zone GMT+9;
root-authentication {
encrypted-password "$1$nc9TNPir$TenHOKrjBIjmSQCg7RbN//"; ## SECRET-DATA
}
3. 設定の表示(個別設定値)
root@XXXXXX> show system services dhcp pool
Pool name Low address High address Excluded addresses
192.168.70.0/24 192.168.70.201 192.168.70.240
#### 3. 設定の表示(個別設定値)
4. VPNの接続状態
Stateが「UP」の状態が正常。「DOWN」などは異常であるが、再起動後などセッションが確立すると「UP」に変わる
root@XXXXXX> show security ike security-associations
Index Remote Address State Initiator cookie Responder cookie Mode
3 167.99.234.88 UP ae464db88ec96517 5cfc1e2ac5d9767b Aggressive
2 210.8.86.78 UP c8a4dc4606ce8080 1df0c75de99444b4 Aggressive
root@XXXXXX> show security ike security-associations
Index Remote Address State Initiator cookie Responder cookie Mode
3 167.99.234.88 UP ae464db88ec96517 5cfc1e2ac599957b Aggressive
4 229.111.251.199 DOWN 78002251992c65ce 0000000000000000 Aggressive
2 210.8.86.78 UP c8a4dc4606ce8080 1df0c75de99888b4 Aggressive
root@XXXXXX> show security ipsec security-associations
Total active tunnels: 3
ID Gateway Port Algorithm SPI Life:sec/kb Mon vsys
<131073 222.116.244.185 500 ESP:3des/sha1 d1066db2 590/ unlim - root
>131073 222.116.244.185 500 ESP:3des/sha1 2ea99cb0 590/ unlim - root
<131073 222.116.244.185 500 ESP:3des/sha1 77bdc56c 591/ unlim - root
>131073 222.116.244.185 500 ESP:3des/sha1 6ae7998 591/ unlim - root
<131075 111.9.51.55 500 ESP:3des/sha1 6a87f994 3170/ unlim - root
>131075 111.9.51.55 500 ESP:3des/sha1 2fe99ae0 3170/ unlim - root
<131075 111.9.51.55 500 ESP:3des/sha1 7f26225a 3178/ unlim - root
>131075 111.9.51.55 500 ESP:3des/sha1 f49fbf55 3178/ unlim - root
<131074 165.88.236.90 500 ESP:3des/sha1 babd00f0 2886/ unlim - root
>131074 165.88.236.90 500 ESP:3des/sha1 71b44f03 2886/ unlim - root
「DOWN」の状態から回復しないときは、該当のトンネルをdisableにし、再度元に戻す。
余り有効では無いかも。。。
root@XXXXXX> set interfaces st0 unit 0 disable
root@XXXXXX> commit
root@XXXXXX> set interfaces st0 unit 0 family inet
root@XXXXXX> commit
root@XXXXXX> show security ike security-associations
設定の方法
1. コンフィグレーションの設定方法 (setコマンド)
設定するためには、コンフィグレーションモードから set コマンドを使用して設定します。
設定を削除する場合はdeleteコマンドを使用します。
JUNOSでは設定追加や設定削除の際にコマンドをフルパスで設定する方法、
該当する階層で設定する方法の2種類があります。
show xxxxxxxxx | display set
コマンドでフルパスのset文を取得し、setコマンドを修正し、投入するのが簡単です。
root@XXXXXX# show system services dhcp router | display set
set system services dhcp router 192.168.1.1 <--コピーして
root@XXXXXX# set system services dhcp router 192.168.70.1 <--編集してペースト
root@XXXXXX# show system services dhcp
router {
192.168.70.1;
}
pool 192.168.70.0/24 {
address-range low 192.168.70.201 high 192.168.70.240;
}
propagate-settings ge-0/0/0.0;
2. 設定の初期化(要注意)
- Active コンフィグを工場出荷状態に初期化する
root@XXXXXX# load factory-default
- 平文パスワード(plain-text-password)を設定する
commitしないと終われません。
root@XXXXXX# set system root-authentication plain-text-password
root@XXXXXX# commit
設定
1. Pre-shared Key(事前共有キー)
お互いのルーターを認証するため交換する暗号鍵
値はhost-nameとする(対向先と同じ値であればなんでも良い)。自動的に暗号化される。
set security ike policy ike_pol_Honmachi pre-shared-key ascii-text "Honmachi"
若しくは以下のページも生成可能。
強力な事前共有キーの生成
2. PPPoE認証パスワードの設定
プロバイダから指示されたパスワードをテキストで設定する。
自動的に暗号化される。
set interfaces pp0 unit 0 ppp-options chap default-chap-secret "PPPoE_Password"
set interfaces pp0 unit 0 ppp-options chap local-name "pppoe_user@provider.ne.jp"
set interfaces pp0 unit 0 ppp-options chap passive
set interfaces pp0 unit 0 ppp-options pap local-name "pppoe_user@provider.ne.jp"
set interfaces pp0 unit 0 ppp-options pap local-password "PPPoE_Password"
3. タイムサーバ
設定時、名前解決が出来ないためエラーとなる。
インターネット接続後に再設定すること。
root@HakataBranch# set system ntp server ntp.nict.jp
error: could not resolve name: ntp.nict.jp: ntp.nict.jp
[edit]
root@HakataBranch# commit
commit complete
4. DHCPサーバの設定
- vlan.0に192.168.10.1/24が割り当てる。
- Winsサーバを2台割り当てる。
- trustゾーンに割り当てられています。
- インターフェースのge-0/0/1とfe-0/0/2〜3をvlan.0に割り当てる。
- dhcpのIPアドレス範囲を192.168.10.201〜192.168.10.240とする。
- trustゾーンでdhcpが利用できるようにする。
セキュリティポリシーを追加していく過程で急に繋がらなくなるので注意が必要。
set system services dhcp wins-server 192.168.10.100
set system services dhcp wins-server 192.168.20.100
set system services dhcp router 192.168.10.1
set system services dhcp pool 192.168.10.0/24 address-range low 192.168.10.201
set system services dhcp pool 192.168.10.0/24 address-range high 192.168.10.240
set system services dhcp propagate-settings vlan.0
set security zones security-zone Internal interfaces vlan.0 host-inbound-traffic system-services dhcp
IPアドレスの設定内容確認
root@HakataBranch> show system services dhcp pool
Pool name Low address High address Excluded addresses
192.168.10.0/24 192.168.10.201 192.168.10.240
IPアドレスの払出状況確認
root@HakataBranch> show system services dhcp binding
IP address Hardware address Type Lease expires at
192.168.10.202 38:f3:ab:62:c7:fa dynamic 2022-02-18 10:31:39 GMT+9
192.168.10.201 8c:8c:aa:e8:a9:80 dynamic 2022-02-18 08:42:12 GMT+9
5. コミットせずにexitしたら
コミットの確認がされます。[Yes]でキャンセルされます。
[edit]
root@HakataBranch# exit
The configuration has been changed but not committed
Exit with uncommitted changes? [yes,no] (yes) no
Exit aborted
[edit]
root@HakataBranch#
6. root パスワードの設定
root パスワードの設定は、以下のコマンドを実行して対話的に設定します。
root@HakataBranch# set system root-authentication plain-text-password
[edit]
root# set system root-authentication plain-text-password
New password:
Retype new password:
設定したパスワードはコンフィグ上では暗号化されて表示されます。
root@HakataBranch> show configuration | display set | match root
set system root-authentication encrypted-password "$1$xeVYrSDn$r3BMhDVdRuyqb8WEhLEae0"
暗号化済みのパスワードを使用して設定する場合は以下の様にコマンド1行で設定可能です。
root# set system root-authentication encrypted-password "$1$xeVYrSDn$r3BMhDVdRuyqb8WEhLEae0"
トラブルシューティング
起動しないとき
起動が遅いので焦らず起動を待つ。コンソールのメッセージを確認する。
1. 正しく電源断しなかった場合
電源ケーブルが抜けたなど、シャットダウンコマンドに依らず電源が落ちた場合など
以下のメッセージが出た場合はOSにダメージがあり、バックアップから起動しています。
(起動中)
writing to flash...
Protected 1 sectors
can't load '/kernel'
can't load '/kernel.old'
Press Enter to stop auto bootsequencing and to enter loader prompt.
(この後、かなりの時間でバックアップが起動する)
--- JUNOS 10.3R2.11 built 2010-11-19 00:48:47 UTC
***********************************************************************
** **
** WARNING: THIS DEVICE HAS BOOTED FROM THE BACKUP JUNOS IMAGE **
** **
** It is possible that the primary copy of JUNOS failed to boot up **
** properly, and so this device has booted from the backup copy. **
** **
** Please re-install JUNOS to recover the primary copy in case **
** it has been corrupted. **
** **
***********************************************************************
以下の手順で、バックアップをプライマリーにコピーします。
手順は以下を参照しました(その通りには進めなかった)。
運悪くBACKUP IMAGEで起動してしまったJUNOS BOXを直す方法。
root@HakataBranch% cli
root@HakataBranch> show system storage partitions
Boot Media: internal (da0)
Active Partition: da0s2a
Backup Partition: da0s1a
Currently booted from: backup (da0s1a)
Partitions information:
Partition Size Mountpoint
s1a 293M /
s2a 293M altroot
s3e 24M /config
s3f 342M /var
s4a 30M recovery
root@HakataBranch> request system snapshot media internal slice alternate
Formatting alternate root (/dev/da0s2a)...
Copying '/dev/da0s1a' to '/dev/da0s2a' .. (this may take a few minutes)
The following filesystems were archived: /
root@HakataBranch> request system reboot slice alternate
^ <--エラーとなる
invalid numeric value: 'alternate' at 'alternate'
(エラーとなるため以下のコマンドで再起動)
root@HakataBranch> request system reboot
Reboot the system ? [yes,no] (no) yes
Shutdown NOW!
[pid 1509]
2. ARALMのオレンジ点灯
SRXの工場出荷時の状態では、レスキューコンフィグと呼ばれるコンフィグが設定されていないためフロントパネルのALARMがオレンジ色に点灯しています。このレスキューコンフィグを作成することでアラームランプが点灯しなくなります。レスキューコンフィグとは設定ミス等で通信障害が発生したりアクセスができなくなった場合に備えて、管理者が予め保存して緊急時に読み込ませるコンフィグです。
- アクティブなコンフィグをレスキューコンフィグとして作成
root@XXXXX> request system configuration rescue save
- 現在のレスキューコンフィグを削除するための設定
root@XXXXX> request system configuration rescue delete
- 現在のレスキューコンフィグの内容を確認する
root@XXXXX> show system configuration rescue
- 現在のレスキューコンフィグをロードしActivateする
root@XXXXX# rollback rescue
root@XXXXX# commit
3.Configファイルの取得
以下のフォルダーに保管されているので、最新のjuniper.conf.gzをSFTPなどで取得する。
取得形式は階層表示となる。
root@XXXXX% ls -l /config
total 76
drwxrwxr-x 2 root wheel 512 Dec 4 2010 .snap
-rw-r----- 1 root wheel 2467 Mar 10 00:05 juniper.conf.1.gz
-rw-r----- 1 root wheel 2466 Mar 10 00:04 juniper.conf.2.gz
-rw-r----- 1 root wheel 2466 Mar 10 00:01 juniper.conf.3.gz
-rw-r----- 1 root wheel 2466 Mar 10 00:00 juniper.conf.4.gz
-rw-r----- 1 root wheel 2470 Mar 9 23:59 juniper.conf.5.gz
-rw-r----- 1 root wheel 2459 Mar 10 00:17 juniper.conf.gz
---x--x--- 1 root wheel 32 Mar 10 00:06 juniper.conf.md5
-rw-r----- 1 root wheel 2459 Mar 11 02:06 rescue.conf.gz
-rw-r--r-- 1 root wheel 824 Jan 20 10:40 usage.db
-rw-r--r-- 1 root wheel 1376 Apr 1 2012 usage.db.1334134267
-rw-r--r-- 1 root wheel 1376 Apr 10 2012 usage.db.1642707607
root@XXXXX%
4.強制切断回避
sshで接続していても、しばらく操作していないと強制切断されてしまう件について、これに下記の設定を追加することで、強制切断問題が解消する。
version 10.3R2では設定できませんでしたので、未確認です。
root@XXXXX> set system services ssh client-alive-interval 120
root@XXXXX> set system services ssh client-alive-count-max 30
root@XXXXX> commit
- client-alive-interval :120秒に一回、クライアントへ死活確認パケットを投げる。
- client-alive-count-max:クライアントからの応答が無い場合、30回までは死活確認パケットを投げる(それでも帰ってこない場合はクライアントは死んだものと判断する)。