Juniper MX를 시험해 보고 싶은데, 실제 컴퓨터가 없어서 vMX로 시험해 봅시다

17929 단어 AWSjunosJunipervmxtech

세 줄을 한데 모으다.


이번 프로젝트는 약간 중도에서 그만두었기 때문에 먼저 세 줄을 총결산한다.
  • AWS로 vMX 이동
  • 관리 인터페이스를 제외한 WAN 포트는 최대 1개만 이동할 수 있음[1]
  • 두 번째 WAN 포트를 VM attach로 향할 경우 WAN 포트가 이동하지 않음
  • WAN 포트의 여러 이동 방법을 아시는 분들은 알려주세요!

    참조 단계


    https://www.juniper.net/documentation/us/en/software/vmx/vmx-aws/topics/concept/vmx-aws-overview.html

    구성도


    두 개의 네트워크로 두 대의 vMX(J1 및 J2)를 연결합니다.각자의 관리 네트워크도 있다.
               │                           │
              Mgmt                       Mgmt
               │                           │
       ┌───────┴───────┐           ┌───────┴───────┐
       │      P0       │  J1-J2-1  │       P0      │
       │          J1_P1├───────────┤J2_P1          │
       │               │           │               │
       │          J1_P2├───────────┤J2_P2          │
       │               │  J1-J2-2  │               │
       └───────────────┘           └───────────────┘
             J1                           J2
    

    프로세스 설정


    설정 절차는 다음과 같다.대부분 AWS 측의 절차다.
  • 공통 설정
  • VSC 제작, CIDR 블록 결정
  • 위의 CIDR 블록을 서브넷으로 분할
  • 제작 인터넷 Gateway
  • 네트워크 인터페이스 생성
  • 네트워크 인터페이스에 IP 주소 부여
  • 대변 VM
  • SSH
  • JUNOS에서 WAN의 IP 주소 설정
  • REST API 설정
  • 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를 VPCAttachVPC>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. checkDisable.뭐 하는지 말하려면...
    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 Accecate
    Allocate:VPC > Elastic IP addresses > Allocate Elastic IP addressAccociate: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_P1J2_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_P1J2_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이고 각자의 내용은 다음과 같다.
  • fpc: DPC, FPC 또는 MPC가 설치된 슬롯
  • pic: FPC에 있는 PIC의 슬롯입니다.DPC, MIC, 16포트 MPC의 경우 PIC 값은 플랫폼별로 포트의 논리 그룹입니다.
  • port: DPC, PIC, MPC 또는 MIC의 포트 번호
  • https://www.juniper.net/documentation/ja/junos/topics/concept/junos-physical-interface-names-mxseries-router.html
    https://www.infraeye.com/study/junos10.html
    이렇게 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_P2J2_P2를 attach할 때J1_P1J2_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/image.png
    대충 해 볼 만하다.많이 할 수 있어요.
    각주
    대부분의 vMX 정보는 여기서 끝납니다.WAN 포트가 하나만 있으면 vMX를 이동하는 의미가 있습니까?↩︎

    좋은 웹페이지 즐겨찾기