vJunos-Evolved 簡単な動作確認してみる

## 概要
2023年4月ぐらいにユーザ登録不要かつ無料で使えるvJunos-Evolvedがリリースされたので簡単に動作確認(BGP接続確認のみ)してみました。
- vJunos-Evolvedの詳細については公式のドキュメントを参照してください。
  - https://www.juniper.net/documentation/jp/ja/software/vJunosEvolved/vJunosEvolved-kvm-deployment-guide/index.html
- イメージは以下でダウンロードできます。
  - https://www.juniper.net/us/en/dm/vjunos-labs.html

## 動作環境
- HW: AMD Ryzen 7 PRO 4750G/ 64GBメモリ
- ホストOS: ESXi 6.7
  - ゲストOS: EVE-NG 5.0.1-19-Community
    - vJunos-Evolved: 23.1R1.8-EVO

## EVE-NG上での動作について
以下の公式マニュアルを参考に環境を準備してください。
- https://www.eve-ng.net/index.php/documentation/howtos/juniper-vjunos-evo-router/


## 構成図
- vJunos-Evolved: 2台
- BGPピア用インタフェース: et-0/0/0同士で接続
- ssh接続用インタフェース: re0:mgmt-0
- ブリッジNetwork: brXX => EVE-NGで利用するために必要らしい。詳しくは上記EVE-NGのマニュアルを参照
![スクリーンショット 2023-06-04 23.47.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556020/3295f825-dda1-ec27-c32b-4e28c836a908.png)


## Step1 初期設定
- vJunos-Evolvedを起動しtelnetで初期設定を実施
- 1台目のみ代表で記載してます。
```
! OSにログイン
root/パスワードなし

! Junosにログイン
cli
configure

! rootユーザのパスワード設定
set system root-authentication plain-text-password

! ssh接続用IPアドレス設定
set interfaces re0:mgmt-0 unit 0 family inet address 192.168.10.231/24
set routing-options static route 0.0.0.0/0 next-hop 192.168.10.1
set system services ssh root-login allow
commit
exit
exit

! sshで接続してadminユーザ作成
!! telnetの段階でも良いかも(試してない)
root/パスワード
cli
configure

! 自動更新を停止
delete chassis auto-image-upgrade

! adminユーザ作成とホスト名設定
set system login user admin authentication plain-text-password
set system host-name vjunos-evo01
set system login user admin class super-user
commit
exit
exit
! 以降はadminユーザで作業を実施してください。

```


## Step2 BGP用インタフェース設定
- 1台目の設定
```
configure
! BGP用 インタフェースの設定
set interfaces et-0/0/0.0 family inet address 192.168.100.31/24
set interfaces lo0 unit 0 family inet address 192.168.250.31/24
commit
exit
```

- 2台目の設定
```
configure
! BGP用 インタフェースの設定
set interfaces et-0/0/0.0 family inet address 192.168.100.32/24
set interfaces lo0 unit 0 family inet address 192.168.250.32/24
commit
exit
```

- 疎通確認
  - 設定した対向アドレスにpingを実施してください。

## Step3 BGPの設定
- 1台目の設定
```
configure

! BGPの設定
set protocols bgp group INTERNAL type internal
set protocols bgp group INTERNAL export export-bgp
set protocols bgp group INTERNAL neighbor 192.168.100.32
set routing-options router-id 192.168.250.31
set routing-options autonomous-system 65000

! 経路広報の設定
set policy-options policy-statement export-bgp term 1 from route-filter 172.16.1.0/24 exact
set policy-options policy-statement export-bgp term 1 then accept

! 広報用アドレスの割り当て
set interfaces et-0/0/1 unit 0 family inet address 172.16.2.2/24

commit
exit

```

- 2台目の設定
```
configure

! BGPの設定
set protocols bgp group INTERNAL type internal
set protocols bgp group INTERNAL export export-bgp
set protocols bgp group INTERNAL neighbor 192.168.100.31
set routing-options router-id 192.168.250.32
set routing-options autonomous-system 65000

! 経路広報の設定
set policy-options policy-statement export-bgp term 1 from route-filter 172.16.2.0/24 exact
set policy-options policy-statement export-bgp term 1 then accept

! 広報用アドレスの割り当て
set interfaces et-0/0/1 unit 0 family inet address 172.16.2.1/24

commit
exit

```


## Step4 動作確認
- ライセンスの警告が出るが気にしなくてOK(ラボ用だから出ているだけで普通に使えるんだと思います)
```
! Establになっていることを確認
admin@vjunos-evo01> show bgp summary

Warning: License key missing; requires 'bgp' license

Threading mode: BGP I/O
Default eBGP mode: advertise - accept, receive - accept
Groups: 1 Peers: 1 Down peers: 0
Table          Tot Paths  Act Paths Suppressed    History Damp State    Pending
inet.0
                       1          1          0          0          0          0
Peer                     AS      InPkt     OutPkt    OutQ   Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
192.168.100.32        65000        123        122       0       0       53:32 Establ
  inet.0: 1/1/1/0

admin@vjunos-evo01>
```

```
! 経路広報の確認
admin@vjunos-evo01> show route advertising-protocol bgp 192.168.100.32

Warning: License key missing; requires 'bgp' license


inet.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
  Prefix		  Nexthop	       MED     Lclpref    AS path
* 172.16.1.0/24           Self                         100        I

! 経路受信確認
admin@vjunos-eveo1> show route receive-protocol bgp 192.168.100.32

Warning: License key missing; requires 'bgp' license


inet.0: 10 destinations, 10 routes (10 active, 0 holddown, 0 hidden)
  Prefix		  Nexthop	       MED     Lclpref    AS path
* 172.16.2.0/24           192.168.100.32               100        I
```

## まとめ
とりあえずそれっぽく動いていそう。
無料・ユーザ登録不要でいろんな機能が試せるのは夢がありますよね。