DebianでOpenVPNサーバー
すべての通信をVPNサーバー経由で通信する(プロキシ)設定になっている. 認証関係のファイルは,OpenVPNをインストールした時に一緒に入るサンプルをそのまま使った. 木更津高専の学内ネットから接続すれば,ネットに自由にアクセスできるようになる.
サーバ設定
% cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
% sudo su
# source ./vars
# ./clean-all
# ./build-ca
# ./build-key-server server
# ./build-dh
# openvpn --genkey --secret /etc/openvpn/ta.key
# ./build-key-pass client
% sudo vi /etc/openvpn/server.conf
dev tun
port 443
proto tcp
server 10.8.0.0 255.255.255.0
duplicate-cn
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
ca /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt
key /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key
dh /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem
% sudo vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
% sudo vi /etc/rc.local
iptables -A FORWARD -i eth0 -o tun0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
クライアント設定
client.opvn
dev tun
proto tcp
remote example.com 443
auth SHA1
resolv-retry infinite
nobind
persist-key
persist-tun
client
verb 3
#auth-user-pass
ca ca.crt
cert client.crt
key client.key