초보자도 가능! Armadillo에서 SoftEtherVPN (Client 편)

개요


  • 마이크로 컴퓨터 (Armadillo)로 SoftEtherVPN의 Client 작성
  • 에지 컴퓨터 통신에 보안을 담보
  • IP를 고정 할 수없는 SIM 카드의 경우 가상 NIC로 IP를 고정하여 유지 보수를 돕습니다.


  • 전제 조건


  • 루트 권한으로 실행하십시오 (기본적으로
  • 인터넷에 나갈 수 있는 상태
  • ssh 연결이 가능합니다.
  • USB 메모리 준비
  • 포기하지 않는 마음

  • Armadillo의 커널 확인


  • apt-get -y install ssh 가 되어 있는지 체크한다.
  • = y 일 때 SoftEther 설치 가능
  • =y 이외의 경우는, Linux의 커널을 변경할 필요가 있다.
  • 상기의 경우는 Armadillo-iot G3L에서 tun 디바이스 활성화 절차라든지 Armadillo 개발자 사이트 22장 Howto 등을 참조해 주시면 행복해질 수 있을 것 같습니다.

  • 확인 방법
    다음 명령으로 CONFIG_TUN=y가 반환되는지 확인하십시오.
    zcat /proc/config.gz | grep "CONFIG_TUN="
    

    준비


  • SoftEtherClient를 다운로드합니다.
  • 위의 파일을 USB 메모리에 저장하고 Armadillo에 삽입합니다.
  • 삽입 후에는 아래 명령으로/mnt 이하에 USB 메모리를 마운트하고 Armadillo 내의 vpn 폴더 이하에 복사합니다.
  • mount -t vfat /dev/sda1 /mnt
    mkdir /home/atmark/vpn
    cp /mnt/softether*** /home/atmark/vpn
    cd /home/atmark/vpn
    

    SoftEther install


  • /home/atmark/vpn 폴더에 있다고 생각하므로 다음 명령을 실행하여 SoftEther를 확장합니다.

  • Linux에 설치 및 초기 설정 를 참고로 하고 있습니다. (그러나이 URL은 서버 설치를 위해 클라이언트로 적절하게 읽습니다.)
  • tar xzvf softether***
    
  • 그런 다음 vpnclient 폴더로 이동하여 make를 실행합니다.
  • cd vpnclient/
    make
    
    Do you want to read the License Agreement for this software ?
    1. Yes
    2. No
    Please choose one of above number:
    1
    
    Did you read and understand the License Agreement ?
    (If you couldn't read above text, Please read License_ReadMe.txt
    file with any text editor.)
    1. Yes
    2. No
    Please choose one of above number:
    1
    
    Did you agree the License Agreement ?
    1. Agree
    2. Do Not Agree
    Please choose one of above number:
    1
    
    
  • 위의 작업이 끝나면 vpnclient 폴더로 이동합니다.
  • 이동 후 vpnclient를 시작하고 설정합니다.
  • cd vpnclient/
    ./vpnclient start
    ./vpncmd
    
    
    root@armadillo:/home/atmark/vpn/vpnclient
    root@armadillo:./vpncmd
    
    vpncmd command - SoftEther VPN Command Line Management Utility
    SoftEther VPN Command Line Management Utility (vpncmd command)
    Version 4.19 Build 9599   (English)
    Compiled 2015/10/19 20:28:20 by yagi at pc30
    Copyright (c) SoftEther VPN Project. All Rights Reserved.
    
    By using vpncmd program, the following can be achieved.
    
    1. Management of VPN Server or VPN Bridge
    2. Management of VPN Client
    3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)
    
    Select 1, 2 or 3: 2 #2番を選択します
    
    Specify the host name or IP address of the computer that the destination VPN Cli                                     ent is operating on.
    If nothing is input and Enter is pressed, connection will be made to localhost (                                     this computer).
    Hostname of IP Address of Destination: # 何も入力せずにEnter
    
    Connected to VPN Client "localhost".
    
    VPN Client>NicCreate #仮想NICを作成します。
    NicCreate command - Create New Virtual Network Adapter
    Virtual Network Adapter Name: azure_vpn # 今回はAzureにSoftEtherServerを立てた想定でこのような名前にしています。
    
    The command completed successfully.
    
    VPN Client>AccountCreate # Accountを作成します。
    AccountCreate command - Create New VPN Connection Setting
    Name of VPN Connection Setting: [Account名] # Account名を任意の文字列で作成
    
    Destination VPN Server Host Name and Port Number: 
    [VPNServer名:port] # VPNのサーバー名とポートを指定します。
    
    Destination Virtual Hub Name: AzureVPN # 仮想HUBの名称を指定します。
    
    Connecting User Name: [User名] # サーバー側で設定したUser名を入力します
    
    Used Virtual Network Adapter Name: azure_vpn #前段で作成したNICの名称を入れます。
    
    The command completed successfully..
    
    VPN Client>AccountPasswordSet #Accountのパスワードを設定します。
    AccountPasswordSet command - Set User Authentication Type of VPN Connection Sett                                     ing to Password Authentication
    Name of VPN Connection Setting: [Account名] # 前段で設定したAccount名を入力します
    
    Please enter the password. To cancel press the Ctrl+D key.
    
    Password: [password] # 任意のパスワードを設定します。
    Confirm input: [password]
    
    
    Specify standard or radius: standard # standardを設定します。
    
    The command completed successfully.
    
    VPN Client>AccountConnect # 次にどのAccountを接続するかを設定します。
    AccountConnect command - Start Connection to VPN Server using VPN Connection Set                                     ting
    Name of VPN Connection Setting: [Account名] # Account名を入力します 
    
    The command completed successfully.
    
    VPN Client>accountlist
    AccountList command - Get List of VPN Connection Settings
    Item                        |Value
    ----------------------------+-------------------------------------------------------------------
    VPN Connection Setting Name |[Account名]
    Status                      |Connected
    VPN Server Hostname         |[VPNServer名:port] (Direct TCP/IP Connection)
    Virtual Hub                 |AzureVPN
    Virtual Network Adapter Name|azure_vpn
    The command completed successfully.
    
    VPN Client>accountstartupset # スタート時にどのAccountを接続するか設定します。
    AccountStartupSet command - Set VPN Connection Setting as Startup Connection
    Name of VPN Connection Setting: [Account名]
    
    
  • 또한/etc/init.d/vpnclient에 vpnclient 시작 스크립트를 만들었습니다.
  • CONFIG_TUN=y에서 실행 권한도 전달하십시오
  • #!/bin/sh
    #
    # chkconfig: 2345 99 01
    # description: SoftEther VPN Client
    
    DAEMON=/home/atmark/vpn/vpnclient/vpnclient
    LOCK=/var/lock/subsys/vpnclient
    
    test -x $DAEMON || exit 0
    
    case "$1" in
      start)
        $DAEMON start
        touch $LOCK
        ;;
      stop)
        $DAEMON stop
        rm $LOCK
        ;;
      restart)
        $DAEMON stop
        sleep 3
        $DAEMON start
        ;;
      *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
    esac
    
    sleep 5
    ip address add 192.168.1.1/24 brd 192.168.1.255 dev vpn_azure_vpn
    
    exit 0
    
  • 또한 rc.local에는 아래와 같이 입력하여 vpnclient 기동 후 고정 IP를 흔들도록 했다.
  • #!/bin/sh
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    HUB_RESET="/sys/devices/soc/30800000.aips-bus/30a50000.i2c/i2c-3/3-0008/USB3503_
    RESET/value"
    reset_hub()
    {
            echo 0 > $HUB_RESET
            sleep 0.1
            echo 1 > $HUB_RESET
    }
    
    HUB_ID="0424:3503"
    lsusb -d $HUB_ID > /dev/null 2>&1
    if [ $? -ne 0 ]; then
            reset_hub
    fi
    
    /etc/init.d/vpnclient start
    
    sleep 5
    ip address add 192.168.1.1/24 brd 192.168.1.255 dev vpn_azure_vpn
    
    exit 0
    
    

    이상으로 설정은 끝입니다.
    이제 Armadillo가 시작될 때 SoftEther가 자동으로 시작됩니다.

    요약


  • 리눅스(Debian)를 다뤄본 적이 없었기 때문에 꽤 고생했다.
  • 처음 만지는 사람의 무엇인가의 참고가 되면 다행입니다.
  • 좋은 웹페이지 즐겨찾기