前提条件
Linuxに固有の準備
alias char-major-10-200 tun |
mkdir /dev/net mknod /dev/net/tun c 10 200 |
net.ipv4.ip_forward = 1 |
FreeBSDに固有の準備
gateway_enable="YES" |
VPNの準備・インストール(各OS共通)
必要なものをそろえる。
tar xvzf openssl*.gz cd openssl* ./config make su make install |
tar xvzf lzo*.gz cd lzo* ./configure make su make install |
tar xvzf openvpn*.gz ./configure --with-lzo-headers=/usr/local/include --with-lzo-lib=/usr/local/lib make su make install |
mkdir /etc/vpn cd /etc/vpn openvpn --genkey --secret vpn_secretkey chmod 600 vpn_secretkey |
なお、Linuxの場合この時点では「ifconfig -a」してもインターフェースがUPしていないため、表示されない。
また、トンネルデバイス名は「tun0」などでよい。モジュール名が「tun」なこともありややこしいので、混同しないよう注意。
Linuxの場合
#!/bin/sh ifconfig (トンネルデバイス名) (自分側IP) pointopoint (相手側IP) mtu 1450 route add -net (相手側ネットワーク) dev (トンネルデバイス名) |
#!/bin/sh ifconfig (トンネルデバイス名) (自分側IP) (相手側IP) mtu 1450 route add (相手側ネットワーク) (相手側IP) |
#!/bin/sh /usr/local/sbin/openvpn --daemon --comp-lzo --remote (相手側グローバルIP) --dev (トンネルデバイス名) --verb 5 --secret /etc/vpn/vpn_secretkey --up "/etc/vpn/vpn_ifup.sh" |
redirect_port (VPNルータのIPアドレス):5000 5000 |
--lport | ローカル側のポート |
--rport | リモート側のポート |
--port | 両方 |