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