OpenVPN-HOWTO
FrontPage|FindPage|TitleIndex|RecentChanges|UserPreferences E D R S I M H RSS

?OpenVPN 이란? #

  • 랄라라~
  • 2.0 이상을 사용하자~(다중접속을 지원한다)

server 설정하기 #

Windows #

  • Windows 2000 이상에서만 동작한다.
  • Service 로 등록해두는 게 편하다.
    • Start Menu(시작메뉴) -> Control Panel(제어판) -> Administrative Tools(관리 도구) -> Services(서비스) -> ?OpenVPN
    • 필요한 파일들(example 에서 복사해서 config 디렉토리에 넣어준다)
      • ca.crt
      • server.crt
      • server.key
      • dh1024.pem

configuration file #

  • 특징
    • 다중 사용자
    • port 지정
    • server.ovpn
  • # port 지정, 여러개의 OpenVPN 서버를 띄우고 싶으면 다른 port 여러개를 사용한다.
    # firewall 로 막혀 있지는 않은지 확인한다.
    port 53
    
    # TCP or UDP server
    ;proto tcp
    proto udp
    
    # "dev tap" 은 이더넷 터널링, 이더넷 브리지에 사용한다.
    # "dev tun" 은 routed IP 터널링
    # tun 을 쓰는게 좋다.
    ;dev tap
    dev tun
    
    # 윈도우는 TAP-Win32 adapter 가 필요하다.(다른 플랫폼에선 이 설정이 필요하지 않다)
    # XP SP2 이상은 firewall 에서 TAP adapter 에 대해 firewall 을 풀어주어야 한다.
    # 제어판 -> 네트워크 연결 에 보면 TAP-Win32 Adapter V8 라는 게 보이는 데
    # 이 녀석의 이름을 아래 설정과 동일하게 맞춰준다.
    # 보통은 '로컬 영역 연결2' 정도로 되어 있다
    dev-node MyTap
    
    # SSL/TLS 설정에 필요한 파일들 지정.
    # 안고치는게 속편하다.
    # easy-rsa 디렉토리에 보면 파일들 생성에 필요한 스크립트 들이 있다. 근데 일반 사용자들은 쓸일 없다.
    ca ca.crt
    cert server.crt
    key server.key  # 이 파일은 노출되면 안된다.
    # Diffie hellman parameters.
    dh dh1024.pem
    
    # 서버 모드, 가상 subnet 설정
    # 브리지 사용자라면 comment out 처리
    server 10.8.0.0 255.255.255.0
    
    # Maintain a record of client <-> virtual IP address
    # associations in this file.  If OpenVPN goes down or
    # is restarted, reconnecting clients can be assigned
    # the same virtual IP address from the pool that was
    # previously assigned.
    # 클라이언트에서 사용할 IP 주소들 지정 파일
    # 특정 클라이언트에 특정 IP 를 지정하고 싶으면 ccd 서브 디렉토리를 활용하고
    # man page 를 참조한다.
    ifconfig-pool-persist ipp.txt
    
    # If enabled, this directive will configure
    # all clients to redirect their default
    # network gateway through the VPN, causing
    # all IP traffic such as web browsing and
    # and DNS lookups to go through the VPN
    # (The OpenVPN server machine may need to NAT
    # the TUN/TAP interface to the internet in
    # order for this to work properly).
    # CAVEAT: May break client's network config if
    # client's local DHCP server packets get routed
    # through the tunnel.  Solution: make sure
    # client's local DHCP server is reachable via
    # a more specific route than the default route
    # of 0.0.0.0/0.0.0.0.
    ;push "redirect-gateway"
    
    # Certain Windows-specific network settings
    # can be pushed to clients, such as DNS
    # or WINS server addresses.  CAVEAT:
    # http://openvpn.net/faq.html#dhcpcaveats
    ;push "dhcp-option DNS 10.8.0.1"
    ;push "dhcp-option WINS 10.8.0.1"
    
    # 10 초에 한번 ping, 300 초 동안 접속이 되지 않으면 down 으로 간주
    keepalive 10 120
    
    # 압축 지원
    # 서버가 지원하면 클라이언트도 지원해야 한다.
    comp-lzo
    
    # max client 동접수
    max-clients 10
    
    # vpn 서버의 권한 축소
    ;user nobody
    ;group nobody
    
    # The persist options will try to avoid
    # accessing certain resources on restart
    # that may no longer be accessible because
    # of the privilege downgrade.
    persist-key
    persist-tun
    
    # 서버의 status 를 매분마다 기록해준다
    status openvpn-status.log
    
    # log verbosity 레벨
    # 0 is silent, except for fatal errors
    # 4 is reasonable for general usage
    # 5 and 6 can help to debug connection problems
    # 9 is extremely verbose
    verb 3
    

client 설정하기 #

# 클라이언트로 설정
client

dev tun
dev-node MyTap

proto udp

# vpn 서버의 hostname(혹은 ip) 와 port
remote www.test.com 53

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# port 를 binding 하지 않는다.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# 무선랜에서는 duplicate packet 이 자주 발생한다.
# duplicate packet warning 을 끈다
mute-replay-warnings

# SSL/TLS parms.
ca ca.crt
cert client.crt
key client.key

# 압축/ 서버에도 이 옵션이 켜져 있어야 한다.
comp-lzo

# Set log file verbosity.
verb 3

route delete 0.0.0.0
route add openvpnsvr_ip mask 255.255.255.255 %1
openvpn ... 명령
route add dest 0.0.0.0 mask 0.0.0.0 192.168.0.1

EditText|FindPage|DeletePage|LikePages| Valid XHTML 1.0! Valid CSS! powered by MoniWiki