Ubuntu搭建OpenVPN教程
vpn是一种可以进行翻跃运动的技能。对于买了openvz vps,想开立vpn的朋友们,首先应该发送Ticket联络你的提供商,开启TUN/TAP和iptables相关的模块,并开启iptables相关的组件。
请在使用openvpn之前,先设定本地机器上的dns为google或者opendns的dns服务器,这样方能正确的解析域名
我们先检测下是否己经有开通tun和tap,检测是否开启tun功能的方法是:
lsmod | grep tun
如果没有显示, 再试试下面的命令
modprobe tun
这种检测手段并不很准确,为了保险起见 ,你还是联系下提供商,记住,一 定要开启TUN/TAP和iptables相关组件,不然配置会不成功。
等待提供商为你开启了相关功能后,下面就正式动手进行配置了。
以下命令都是在命令行进行手动敲入的,因为自动化脚本并不能解决在安装openvpn过程中遇到的各种小问题,所以需要手动来配置,才能最后让openvpn正常运作。所以请大家耐心的进行复制粘贴。出现了错误ubuntu网络配置,仔细分析前因后果。
记住需要使用到的常量,在下面输入的时候,要记得用这些变量的值,替换变量,不要原封不动的复制粘贴代码。
$HOSTNAME | 你的vps服务器的机器名,可输入hostname命令获取 |
$IP | 你vps对外的IP地址,公网IP,可输入ifconfig查询。 |
服务器安装配置
安装openvpn开始,先更新下源
apt-get update
安装openvpn和必须的类库
apt-get install openvpn libssl-dev openssl
转到openvpn的配置文件夹
cd /etc/openvpn/
拷贝工具过来,准备生成Key
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
进入工作目录
cd /etc/openvpn/easy-rsa/2.0/
改变文件可执行状态
chmod +rwx *
编辑配置文件,修改默认用户信息 vim ./vars
到下列内容进行替换成你自己的,比如国家可以自US改成CN
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="domain"
编辑完毕后,保存一下,执行下面的命令
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
进入key目录
cd keys
生成key
openvpn --genkey --secret ta.key
cp ./{ca.crt,ta.,server.key,dh1024.pem} /etc/openvpn/
编辑openvpn配置文件 vim /etc/f
用下面的内容替换原来的内容
port 1194
proto udp
dev tun
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
duplicate-cn
keepalive 10 120
client-to-client
comp-lzo
comp-noadapt
fragment 1300
mssfix 1300
sndbuf 204800
rcvbuf 204800
user daemon
group daemon
persist-key
persist-tun
status openvpn-status.log
verb 3
配置文件保存后,现在开始配置网络相关设置,先开启转发功能
echo "net.ipv4.ip_forward=1" >> /f
使设定生效
sysctl -p
开始配置防火墙了,先清空防火墙现有的设置,遇到错误,不用管它,进行下一个操作。
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -F
iptables -X
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t raw -F
iptables -t raw -X
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
设置防火墙,允许nat,端口转发和常用的服务,需要注意的是第一行的-o venet0 在openvz下面是venet0,在xen下面可能是eth0,这是网卡的编号,大家可以用ifconfig查看,看第一块网卡是eth0还是venet0,不要搞错了,搞错了就访问不了外面的互联网。
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -----
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -s 10.8.0.0/24 -p all -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
有的VPS比较奇怪,我们需要再加点料
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT –to-source 114.138.164.131
–to-source后面跟你VPS的IP
保存 防火墙规则,让它在下次启动系统时自动生效
iptables-save > /etc/iptables.up.rules
新建网络启动时加载的脚本 vim /etc/network/if-pre-up.d/iptables
输入下面的内容
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
改变执行权限
chmod a+x /etc/network/if-pre-up.d/iptables
等下次你启动系统的时候,防火墙就会以现在的规则执行。
现在既然配置都己经好了,那就重启openvpn服务吧
/etc/init.d/openvpn restart
客户端配置文件
cd /etc/openvpn/easy-rsa/2.0/
source vars
./pkitool client1
cd keys/
编辑客户端配置文件 vim $HOSTNAME.ovpn
输入下面的内容
client
remote $ip 1194
dev tun
comp-lzo
comp-noadapt
key client1.key
fragment 1300
sndbuf 204800
rcvbuf 204800
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论