VPS를 통해 OpenVPN 서버를 구축하고 VPN 이외의 접속을 통해 이 서버를 게이트웨이로 설정(2020년 버전)

3550 단어 OpenVPNtech

앞의 불평


아파트의 인터넷 환경은 NAT를 넘지 않으면 인터넷에 접속할 수 없는 환경이다. 그러면 밖에서 자기 집 컴퓨터를 접속할 수 없기 때문에 VPN을 빌려도 구축할 수 있다. 그나마 거기서만 인터넷을 접속하려고 여러 가지 조사를 했다.나는 2010년에 IPtables로 보도된 것만 보았다.
그래서 스스로 총괄적으로 쓴다.하지만 이것도 곧 부패하겠지.

VPS를 빌리다.


아무튼 Conoha에서 메모리 1GB의 VPS를 빌립니다.
https://www.conoha.jp/conoha/vps/
  • 왜 Conoha?:내가 너 좋아하니까.
  • CentOS의 최신


    왜 일은 아닌데 낡은 것을 써야 하는지 최신 것을 고르세요.
    (이곳에서 오래된 것을 골랐다면 과거 기사를 참고하지 않았을까.)

    SSH 같은 설정.


    이 점은 말하면 할수록 설명하기 때문에 생략한다.

    OpenVPN 및 easy-rsa 설치


    OpenVPN이든 왜 easyrsa에 가입해야 하는지 모르겠지만 여러 대의 VPN을 참가시키기 위해서는 필요한 것 같습니다.
    그리고 뭐랄까, 소스 코드를 구축하거나 EPEL을 효율화해야 한다는 정보가 있어 혼란스러워요
    yum install openvpn easy-rsa
    
    설치가 완료되었습니다.

    easy-rsa를 통해 인증국 설정


    cd /usr/share/easy-rsa/3/
    ./easyrsa init-pki
    ./easyrsa build-ca
    ./easyrsa gen-dh
    ./easyrsa build-server-full server nopass
    ./easyrsa build-client-full client0 nopass
    cd /etc/openvpn/server
    openvpn --genkey --secret ta.key
    
    예, 이렇게 하면 7개의 필요한 파일을 생성할 수 있습니다.
  • /usr/share/easy-rsa/3/pki/dh.pem...서버에 필요한 것만 있어요.뭔지 모르겠어요.
  • /usr/share/easyrsa/3/pki/ca.crt...서버와 고객 쌍방이 필요로 하는 인증서
  • /etc/openvpn/server/ta.키...서버와 클라이언트 모두에 필요한 비밀 키
  • /usr/share/easy-rsa/3/pki/issued/server.crt... 서버 측 인증서.서버 측면에 저장
  • /usr/share/easy-rsa/3/pki/private/server.키... 서버 측 비밀 키입니다.서버 측면에 저장
  • /usr/share/easy-rsa/3/pki/issued/client0.crt... 클라이언트 인증서.클라이언트에 저장
  • /usr/share/easy-rsa/3/pki/private/client0.키... 클라이언트 기밀 키입니다.클라이언트에 저장
  • 서버 측 설정


    touch /etc/openvpn/server/server.conf
    vi /etc/openvpn/server/server.conf
    
    귀찮으니까 설정 파일은 그렇게 쓰세요.
    port 1194
    proto udp
    dev tun
    ca /usr/share/easy-rsa/3/pki/ca.crt
    cert /usr/share/easy-rsa/3/pki/issued/server.crt
    key /usr/share/easy-rsa/3/pki/private/server.key
    dh /usr/share/easy-rsa/3/pki/dh.pem
    server 10.8.0.0 255.255.255.0
    ifconfig-pool-persist /etc/openvpn/server/ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8" # ここはお好きなDNSを
    push "dhcp-option DNS 8.8.4.4"
    client-to-client
    keepalive 10 120
    tls-auth /etc/openvpn/server/ta.key 0 
    cipher AES-256-CBC
    persist-key
    persist-tun
    status openvpn-status.log
    verb 3
    explicit-exit-notify 1
    

    OpenVPN 시작


    systemctl enable [email protected]
    systemctl start [email protected]
    
    server.서비스의 서버 부분에서/etc/openvp/서버/의 conf 파일의 이름을 지정합니다.

    IP 마스카라 설정


    VPN 내에서 VPN 외부로의 액세스를 라우팅합니다.방화벽이 OpenVPN을 통과하도록 합니다.
    nmcli connection modify eth0 connection.zone external
    nmcli connection modify tun0 connection.zone trusted 
    firewall-cmd --zone=external --add-service=openvpn --permanent
    firewall-cmd --reload
    
    external은 처음부터 IP 마스카라가 yes였는데, 인터넷에 연결된 eth0을 거기에 할당하면 특별한 일을 하지 않아도 마스카라 설정이 완성된다.

    클라이언트 설정


    이것도 설정 파일 써야 돼.
    client
    dev tun
    proto udp
    remote [VPSのIPアドレス] 1194
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca [ca.crtのクライアントでの保存先]
    cert [client0.crtのクライアントでの保存先]
    key [client0.keyのクライアントでの保存先]
    remote-cert-tls server
    tls-auth [ta.keyのクライアントでの保存先] 1
    cipher AES-256-CBC
    verb 3
    
    이후 터널brick 형식으로 이 설정 파일을 읽으면 연결되며 VPN 이외의 접근도 자동으로 VPS를 게이트웨이로 해야 한다.

    좋은 웹페이지 즐겨찾기