Juniper MX를 시험해 보고 싶은데, 실제 컴퓨터가 없어서 vMX로 시험해 봅시다
세 줄을 한데 모으다.
이번 프로젝트는 약간 중도에서 그만두었기 때문에 먼저 세 줄을 총결산한다.
참조 단계
구성도
두 개의 네트워크로 두 대의 vMX(J1 및 J2)를 연결합니다.각자의 관리 네트워크도 있다.
│ │
Mgmt Mgmt
│ │
┌───────┴───────┐ ┌───────┴───────┐
│ P0 │ J1-J2-1 │ P0 │
│ J1_P1├───────────┤J2_P1 │
│ │ │ │
│ J1_P2├───────────┤J2_P2 │
│ │ J1-J2-2 │ │
└───────────────┘ └───────────────┘
J1 J2
프로세스 설정
설정 절차는 다음과 같다.대부분 AWS 측의 절차다.
1. 공개 키 가져오기
AWS 콘솔
EC2
>Key pairs
>Import key pair
로 미리 가져오기2. VPC 만들기
VPC
>Your VPCs
>Create VPC
에서 VPC를 제작하여 10.0.0.0/16
를 해당 VPC에 사용되는 CIDR 블록으로 할당3. 서브넷 생성
VPC
>Subnets
>Create subnet
에 다음 서브넷 생성Name Subnet
Mgmt 10.0.0.0/24 # いらなかった
J1-J1-1 10.0.1.0/24
J1-J2-2 10.0.2.0/24
관리 인터페이스(fxp0)는 실례를 만들 때 만들어진 것입니다. IP가 차였기 때문에 여기서 하지 않아도 됩니다.4. 네트워크 게이트웨이
외부에서 vMX에 액세스하려면
VPC
>Internet gateways
>Create internet gateway
에서 GW 제작VPC
>Internet gateways
>Actions
버튼은 위의 GW를 VPCAttach
로VPC
>Route Tables
>Routes
탭에서 기본 경로0.0.0.0/0
를 인터넷 Gateway에 할당5. 네트워크 인터페이스 구축
EC2
> Network interfaces
> Create network interface
제작 시 Description
에 스위치 이름을 입력해야 합니다.int1
같은 건 어떤 스위치인지 몰라요.또 Mgmt
스위치도 늘렸다.먼저 다음 인터페이스를 만들어 아까 만든 인터페이스에 각각 연결하십시오
J1_Mgmt
J1_P1
J1_P2
J2_P1
J2_P2
참고한 문서에서 다음과 같이 설명하지만 최근에는 AWS의 컨트롤러가 바뀐 것 같습니다. 웹 인터페이스에서도 실례에 두 개 이상의 인터페이스를 분배할 수 있습니다.NOTE: You can only associate two interfaces when creating the EC2 instance using the Web interface. You must have at least one WAN interface.
이어서
Network interfaces
>Actions
>Change source/dest. check
Disable
.뭐 하는지 말하려면...Source/destination checking
You can enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. Source/destination checks are enabled by default. You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.
그런 것 같아요.
6. 네트워크 인터페이스에 Elastic IP 부여
이후 설명한 대로 VM 시작 시 지정
Auto-assign Public IP
은 필요하지 않을 수 있지만 관리 인터페이스에 Elastic IP를 추가하면 다음과 같습니다.Allocate 이후의 Elastic IP AccecateAllocate:
VPC
> Elastic IP addresses
> Allocate Elastic IP address
Accociate:VPC
> Elastic IP addresses
> ***.***.***.***
> Associate Elastic IP address
7.똥을 싼다
문서에서 다음 항목을 먼저 선택하십시오
C5.2xlarge
.You can create following types of instances on AWS:
• m4.4xlarge
• C4.2xlarge
• C5.2xlarge and C5.4xlarge (from Junos OS Release 19.4R1 onwards)
vmx
AMI를 검색하여 커뮤니티 이미지에서 다음을 선택합니다.vmx-nested-19.4R1.9-c8e2662f-22aa-4cd4-99fe-90a1606d0970-ami-04c93b2ff5fe2f974.4
공식적인 이미지가 좋죠...다음과 같이 인스턴스를 시작할 때
Instance Details
에서 방금 만든 VPC를 지정합니다.또한 보안 그룹은 각 VPC를 대상으로 관리하기 때문에 VPC를 선택할 때 해당 VPC에 분배된 보안 그룹만 선택할 수 있다보안 그룹은 관리 인터페이스를 My IP만 할당할 수 있습니다.WAN 인터페이스가 통신할 수 없기 때문에default의 전체 오픈으로 설정합니다
처음으로 vMX의 대변으로 욕을 먹었다.자원이 필요한validate인 것 같습니다.
Launch Failed
Your request for accessing resources in this region is being validated, and you will not be able to launch additional resources in this region until the validation is complete. We will notify you by email once your request has been validated. While normally resolved within minutes, please allow up to 4 hours for this process to complete. If the issue still persists, please let us know by writing to [email protected] for further assistance.
조금만 기다려 주시겠습니까?>10min 정도 Accept에서 메일이 왔어요.
잠시 일어섰다
8. SSH를 사용해 보자
ssh jnpr@<ip-address>
이렇게 하면 JUNOS의 조개를 사용할 수 있어요.$ ssh jnpr@<IP-address>
Last login: Sat Apr 3 00:56:31 2021 from <ip-address>
--- JUNOS 19.4R1.9 Kernel 64-bit JNPR-11.0-20191115.14c2ad5_buil
jnpr@ip-10-0-0-140> show version
Hostname: ip-10-0-0-140
Model: vmx
Junos: 19.4R1.9
JUNOS OS Kernel 64-bit [20191115.14c2ad5_builder_stable_11]
JUNOS OS libs [20191115.14c2ad5_builder_stable_11]
JUNOS OS runtime [20191115.14c2ad5_builder_stable_11]
JUNOS OS time zone information [20191115.14c2ad5_builder_stable_11]
JUNOS network stack and utilities [20191213.231146_builder_junos_194_r1]
JUNOS libs [20191213.231146_builder_junos_194_r1]
JUNOS OS libs compat32 [20191115.14c2ad5_builder_stable_11]
JUNOS OS 32-bit compatibility [20191115.14c2ad5_builder_stable_11]
JUNOS libs compat32 [20191213.231146_builder_junos_194_r1]
JUNOS runtime [20191213.231146_builder_junos_194_r1]
JUNOS Packet Forwarding Engine Simulation Package [20191213.231146_builder_junos_194_r1]
JUNOS sflow mx [20191213.231146_builder_junos_194_r1]
JUNOS py extensions2 [20191213.231146_builder_junos_194_r1]
JUNOS py extensions [20191213.231146_builder_junos_194_r1]
JUNOS py base2 [20191213.231146_builder_junos_194_r1]
JUNOS py base [20191213.231146_builder_junos_194_r1]
JUNOS OS vmguest [20191115.14c2ad5_builder_stable_11]
JUNOS OS crypto [20191115.14c2ad5_builder_stable_11]
JUNOS na telemetry [19.4R1.9]
JUNOS mx libs compat32 [20191213.231146_builder_junos_194_r1]
JUNOS mx runtime [20191213.231146_builder_junos_194_r1]
JUNOS RPD Telemetry Application [19.4R1.9]
Redis [20191213.231146_builder_junos_194_r1]
JUNOS common platform support [20191213.231146_builder_junos_194_r1]
JUNOS Openconfig [19.4R1.9]
JUNOS mtx network modules [20191213.231146_builder_junos_194_r1]
JUNOS modules [20191213.231146_builder_junos_194_r1]
JUNOS mx modules [20191213.231146_builder_junos_194_r1]
JUNOS mx libs [20191213.231146_builder_junos_194_r1]
JUNOS SQL Sync Daemon [20191213.231146_builder_junos_194_r1]
JUNOS mtx Data Plane Crypto Support [20191213.231146_builder_junos_194_r1]
JUNOS daemons [20191213.231146_builder_junos_194_r1]
JUNOS mx daemons [20191213.231146_builder_junos_194_r1]
JUNOS appidd-mx application-identification daemon [20191213.231146_builder_junos_194_r1]
JUNOS Simulation Linux Package [20191213.231146_builder_junos_194_r1]
JUNOS Simulation Package [20191213.231146_builder_junos_194_r1]
JUNOS Simulation Package [20191213.231146_builder_junos_194_r1]
JUNOS Services URL Filter package [20191213.231146_builder_junos_194_r1]
JUNOS Services TLB Service PIC package [20191213.231146_builder_junos_194_r1]
JUNOS Services Telemetry [20191213.231146_builder_junos_194_r1]
JUNOS Services TCP-LOG [20191213.231146_builder_junos_194_r1]
JUNOS Services SSL [20191213.231146_builder_junos_194_r1]
JUNOS Services SOFTWIRE [20191213.231146_builder_junos_194_r1]
JUNOS Services Stateful Firewall [20191213.231146_builder_junos_194_r1]
JUNOS Services RTCOM [20191213.231146_builder_junos_194_r1]
JUNOS Services RPM [20191213.231146_builder_junos_194_r1]
JUNOS Services PCEF package [20191213.231146_builder_junos_194_r1]
JUNOS Services NAT [20191213.231146_builder_junos_194_r1]
JUNOS Services Mobile Subscriber Service Container package [20191213.231146_builder_junos_194_r1]
JUNOS Services MobileNext Software package [20191213.231146_builder_junos_194_r1]
JUNOS Services Logging Report Framework package [20191213.231146_builder_junos_194_r1]
JUNOS Services LL-PDF Container package [20191213.231146_builder_junos_194_r1]
JUNOS Services Jflow Container package [20191213.231146_builder_junos_194_r1]
JUNOS Services Deep Packet Inspection package [20191213.231146_builder_junos_194_r1]
JUNOS Services IPSec [20191213.231146_builder_junos_194_r1]
JUNOS Services IDS [20191213.231146_builder_junos_194_r1]
JUNOS IDP Services [20191213.231146_builder_junos_194_r1]
JUNOS Services HTTP Content Management package [20191213.231146_builder_junos_194_r1]
JUNOS Services Crypto [20191213.231146_builder_junos_194_r1]
JUNOS Services Captive Portal and Content Delivery Container package [20191213.231146_builder_junos_194_r1]
JUNOS Services COS [20191213.231146_builder_junos_194_r1]
JUNOS AppId Services [20191213.231146_builder_junos_194_r1]
JUNOS Services Application Level Gateways [20191213.231146_builder_junos_194_r1]
JUNOS Services AACL Container package [20191213.231146_builder_junos_194_r1]
JUNOS Extension Toolkit [20191213.231146_builder_junos_194_r1]
JUNOS Juniper Malware Removal Tool (JMRT) [1.0.0+20191213.231146_builder_junos_194_r1]
JUNOS J-Insight [20191213.231146_builder_junos_194_r1]
JUNOS Online Documentation [20191213.231146_builder_junos_194_r1]
JUNOS jail runtime [20191115.14c2ad5_builder_stable_11]
JUNOS FIPS mode utilities [20191213.231146_builder_junos_194_r1]
9. WAN 포트 설정
EC2
> Network interfaces
에서 방금 생성한 네트워크 인터페이스를 선택하여 vMX 인스턴스에 할당합니다.우선attachJ1_P1
와 J2_P1
만 다시 시작합니다.여기에서 Private IP는 VM 인터페이스에 할당됩니다.
10. Junso에서 WAN의 IP 설정
첫 번째 인터페이스가 VM에 매핑되면 포트 10개
ge-0/0/0
에서 ge-0/0/9
jnpr@ip-10-0-0-140> show interfaces terse | find ge
ge-0/0/0 up up
ge-0/0/0.0 up up inet 10.0.1.241/24
multiservice
lc-0/0/0 up up
lc-0/0/0.32769 up up vpls
pfe-0/0/0 up up
pfe-0/0/0.16383 up up inet
inet6
pfh-0/0/0 up up
pfh-0/0/0.16383 up up inet
pfh-0/0/0.16384 up up inet
ge-0/0/1 up down
ge-0/0/1.0 up down
ge-0/0/2 up down
ge-0/0/2.16386 up down
ge-0/0/3 up down
ge-0/0/3.16386 up down
ge-0/0/4 up down
ge-0/0/4.16386 up down
ge-0/0/5 up down
ge-0/0/5.16386 up down
ge-0/0/6 up down
ge-0/0/6.16386 up down
ge-0/0/7 up down
ge-0/0/7.16386 up down
ge-0/0/8 up down
ge-0/0/8.16386 up down
ge-0/0/9 up down
ge-0/0/9.16386 up down
cbp0 up up
demux0 up up
dsc up up
em1 up up
em1.0 up up inet 10.0.0.4/8
128.0.0.1/2
128.0.0.4/2
inet6 fe80::5254:ff:fe12:bdfe/64
fec0::a:0:0:4/64
tnp 0x4
esi up up
fti0 up up
fti1 up up
fti2 up up
fti3 up up
fti4 up up
fti5 up up
fti6 up up
fti7 up up
fxp0 up up
fxp0.0 up up inet 10.0.0.140/24
gre up up
ipip up up
irb up up
jsrv up up
jsrv.1 up up inet 128.0.0.127/2
lo0 up up
lo0.16384 up up inet 127.0.0.1 --> 0/0
lo0.16385 up up inet
lsi up up
mif up up
mtun up up
pimd up up
pime up up
pip0 up up
pp0 up up
rbeb up up
tap up up
vtep up up
JUNOS에 로그인하여 VM에 할당된 Private IP와 동일하게 설정합니다.ge-0/0/0
가 지정되었지만 다른 포트일 수도 있습니다.동일 구현J1_P1
및 J2_P1
jnpr@ip-10-0-0-140> configure
Entering configuration mode
[edit]
jnpr@ip-10-0-0-140# set interfaces ge-0/0/0 unit 0 family inet address 10.0.1.241/24
jnpr@ip-10-0-0-140# commit
commit complete
인터페이스 이름ge-0/0/0
의 독법은type-fpc/pic/port
이고 각자의 내용은 다음과 같다.이렇게 Ping이 통과되었습니다.그리고 대부분의 문서는 여기서 끝난다...
jnpr@ip-10-0-0-140> ping 10.0.1.135
PING 10.0.1.135 (10.0.1.135): 56 data bytes
64 bytes from 10.0.1.135: icmp_seq=0 ttl=64 time=51.158 ms
64 bytes from 10.0.1.135: icmp_seq=1 ttl=64 time=2.609 ms
64 bytes from 10.0.1.135: icmp_seq=2 ttl=64 time=2.270 ms
^C
--- 10.0.1.135 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 2.270/18.679/51.158/22.967 ms
두 번째 WAN 인터페이스 Attach면 움직이지 않아요...
여기서는 제2WAN 인터페이스
J1_P2
와 J2_P2
를 attach할 때J1_P1
와 J2_P1
사이의 핑이 날아가지 않는다.detouch에 빠졌습니다. 이런 상황을 통해나는 또 VM 인터페이스가 AWS에서 어떠한 네트워크도 만들 수 있다고 생각했다...두 개 이상 못하면 못해...
원래 AWS는 하나의 인터페이스만 있으면 JUNOS에 10개의 포트가 있을 수 있기 때문에 VM의 인터페이스는 JUNOS에서 PIC에 대응할 수 있다.
그렇다면 AWS의 인터페이스와 MX의 포트는 1:가 넘는 관계다.JUNOS의 구성과 VM의 네트워크 인터페이스에 대응하는 매개 변수는 IP 주소만 있고 PIC 내의 포트는 하나만 사용할 수 있습니까?
VM에서 (위) attach 두 번째 네트워크 인터페이스, PIC도 증가하지 않는구나...몰라요.
11. REST API 설정
REST API를 포기하지 않고 설정합니다.
다음은 REST API입니다.공식 등에 포함
https
하는 방법이 기재되어 있지만 http
만 사용한다면 아래 3줄을 사용할 수 있다jnpr@ip-10-0-0-140# set system services rest control allowed-sources <your-client-ip-here>
jnpr@ip-10-0-0-140# set system services rest http port 3000
jnpr@ip-10-0-0-140# set system services rest enable-explorer
확인해봐jnpr@ip-10-0-0-140> show configuration system services rest
http {
port 3000;
}
control {
allowed-sources <your-client-ip-here>;
}
enable-explorer;
API를 통해 액세스하는 사용자 생성jnpr@ip-10-0-0-140# set system login user apiuser class operator
jnpr@ip-10-0-0-140# set system login user apiuser authentication plain-text-password
New password:
Retype new password:
curl
를 통해 액세스 curl -u "user:pass" http://ip-address:port/rpc/get-software-information -H "Content-Type: application/xml" -H "Accept: application/json"
{
"software-information" : [
{
"host-name" : [
{
"data" : "vmx-1"
}
],
"product-model" : [
{
"data" : "vmx"
}
],
"product-name" : [
{
"data" : "vmx"
}
],
"junos-version" : [
{
"data" : "18.3X3.2"
}
:
: 長いので省略
:
{
"name" : [
{
"data" : "jail-runtime"
}
],
"comment" : [
{
"data" : "JUNOS jail runtime [20190907.2386fa2_builder_stable_11]"
}
]
}
]
}
]
}
API Explorer
브라우저만 액세스
http:/juniper-vmx-ip-address:port/
대충 해 볼 만하다.많이 할 수 있어요.
각주
대부분의 vMX 정보는 여기서 끝납니다.WAN 포트가 하나만 있으면 vMX를 이동하는 의미가 있습니까?↩︎
Reference
이 문제에 관하여(Juniper MX를 시험해 보고 싶은데, 실제 컴퓨터가 없어서 vMX로 시험해 봅시다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/masaino/articles/165e6902f0b235텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)