星期五, 5月 05, 2006

OpenVPN安裝筆記

安裝環境 Debian Sarge kernel 2.6 with testing package
  1. 用aptitude 安裝 openvpn 2
  2. 根據官方HowTo的說明安裝Server部分
    1. 產生各種key,利用/usr/share/doc/openvpn/examples/easy-rsa/2.0/的script
      1. 修改vars
        export KEY_COUNTRY="TW"
        export KEY_PROVINCE="Taiwan"
        export KEY_CITY="Hsinchu"
        export KEY_ORG="公司名稱"
        export KEY_EMAIL="我的@郵件信箱"
      2. 執行參數設定
        . ./vars
      3. 清除已有 Key
        ./clean-all
      4. 產生RootCA憑證
        ./build-ca
        Common Name 填 OpenVPN-CA 其他都預設就好
      5. 產生Server用憑證
        ./build-key-server server
        Common Name 填 server ;其他是非題就選y
    2. 偷懶法產生Client憑證
      ./build-key client1
      ./build-key client2
      ./build-key client3
      依此類推
    3. 產生Diffie Hellman parameters
      ./build-dh
    4. 把ca.crt、ca.key、server.crt、server.key、dh1024.pem放到 /etc/openvpn
    5. 修改/usr/share/doc/openvpn/examples/sample-config-files/server.conf
      後放在 /etc/server.conf
      1. proto tcp
      2. push "redirect-gateway"
      3. user nobody
      4. group nogroup
    6. 把ca.crt、client1.crt、client1.key放到 第一台Client的設定檔目錄
      (例如:Windows 就是在C:\Program Files\OpenVPN\config)
      (Linux則在/etc/openvpn)
    7. 在client1機器上一樣把client.conf(或client.ovpn@windows)的sample檔案拿來改
      (其他client自行類推)
      1. proto tcp
      2. remote [VPN主機位置] 1194
      3. cert client1.crt
        key client1.key
  3. 加上NAT的設定
    1. 啟動 ip forward
      修改 /etc/network/options
      ip_forward=yes
    2. 設定iptable 的NAT 對應->參考資料
      /sbin/iptables -t nat -A POSTROUTING -d ! 10.8.0.0/255.255.255.0 -j MASQUERADE
    3. 儲存iptable設定
      mkdir /var/lib/iptables/
      /etc/init.d/iptables save active
  4. 完成啦!