GCE (Goole Compute Engine) CoreOS 인스턴스에서 OpenVPN 서버 구축

3612 단어 CoreOSOpenVPNgce
한이라면 GCE에서 CoreOS에서 OpenVPN 서버를 만들고 싶습니다!

하자!

(2020년 4월 10일 추가): CoreOS 종료htps : // 이것 오 s. 코 m/오 s/에오 l/
후계는 Fefora CoreOS이지만 GCE이면 Fedora CoreOS는 현재 지원되지 않습니다. Container optimized OS를 선택하면 좋습니다.

전제 조건


  • OS 업데이트 지원이 번거롭기 때문에 CoreOS (stable) 자동 업데이트에 의존하고 싶습니다.
  • 부팅중인 OpenVPN docker 인스턴스도 다시 시작할 것인가?

  • udp 1194 포트에서 VPN 통신
  • GCP 대시 보드에서 구성 수행

  • 절차



    VPN 서버를 CoreOS에서 구축하는 대략적인 단계는

    월 5달러 정도로 Docker로 OpenVPN 환경을 손쉽게 얻을 수 있습니다.
    htps : // 이 m / 아니 / ms / 95164 6b3323723 에b40

    5, 6을 참조하십시오.

    방화벽 설정



    위의 URL에 따르면, 방화벽 설정은 iptables가 아닌 클라우드 서비스 측에서 방화벽 설정이 CoreOS에 권장되는 것이므로 GCP 대시 보드에서 방화벽 설정을 구성합니다.

    네트워크 규칙 default에 CoreOS 인스턴스를 구축한다고 가정합니다.

    다음과 같이 udp:1194를 허용하는 방화벽 규칙을 default에 추가하십시오. 규칙의 이름은 vpn입니다.



    그런 다음 인스턴스 설정에서 위에서 설정 한 규칙 이름 network tagsvpn에 추가합니다.



    또는 vpn 전용으로 네트워크 규칙을 만들 수 있습니다.

    클라이언트에서 연결



    CoreOS 인스턴스 측에서는
    CONTNER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
    5d5e4800a5c8        kylemanna/openvpn   "ovpn_run"          10 days ago         Up 10 days          0.0.0.0:1194->1194/udp   hopeful_mirzakhani
    

    같은 느낌으로 VPN 서버가 실행 중인지 확인하고,

    클라이언트측에서
    $ sudo openvpn CLIENT.ovpn
    

    그렇다면 연결이 이루어집니다!

    연결되지 않으면 방화벽 설정 등을 다시 확인하십시오.

    자동 시작



    CoreOS가 재부팅되면 openvpn 컨테이너가 자동으로 다시 시작됩니다.

    AWS+CoreOS+Docker로 컨테이너 자동 시작 1
    htps : // 이 m / 아키 / ms / 979b25 ~ f555 ~ b7 ~ b96fc

    를 참조하여 systemd 기반으로 설정해보십시오.
    $ sudo vi /etc/systemd/system/docker-ovpn.service
    
    [Unit]
    Description=My Service
    After=docker.service
    Requires=docker.service
    
    [Service]
    ExecStart=/usr/bin/docker run -v $OVPN_NAME:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
    
    [Install]
    WantedBy=multi-user.target
    
    $OVPN_NAME는 첫 번째로 만든 볼륨의 이름입니다.

    지금 실행중인 OpenVPN 인스턴스가 있으면 중지하십시오.
    $ sudo systemctl enable /etc/systemd/system/docker-openvpn.service
    $ sudo systemctl start docker-openvpn.service
    

    journalctl 등으로 시작하고 있는지 확인하고 CoreOS를 재부팅하여 openvpn 인스턴스가 자동으로 시작되면 성공합니다.

    클라이언트에 정적 ip 주소 할당



    TODO


  • cloud init에서 openvpn 인스턴스를 자동으로 시작합니다.
  • 443 포트에 집계하는 것이 더 낫습니까?

  • htps : // 기주 b. 코 m / ky ぇ 만 아 / 도 c 케 루 오 펜 vp에서 볼 수 있듯이 docker로 VPN을 실행하는 보안을 생각하는 여행을 떠나고 싶습니다
  • .

    좋은 웹페이지 즐겨찾기