原文链接:
http://www.netroby.com/article-1565.html
文章自己写的,只存在于自己的javaeye博客和自己的独立博客。欢迎转载,多谢注明出处。
vpn是一种可以进行翻跃运动的技能。对于买了openvz
vps,想开立vpn的朋友们,首先应该发送Ticket联络你的提供商,开启TUN/TAP和iptables相关的模块,并开启iptables相关
的组件。
我们先检测下是否己经有开通tun和tap,检测是否开启tun功能的方法是:
lsmod | grep tun
如果没有显示, 再试试下面的命令
modprobe tun
这种检测手段并不很准确,为了保险起见 ,你还是联系下提供商,记住,一 定要开启TUN/TAP和iptables相关组件,不然配置会不成功。
等待提供商为你开启了相关功能后,下面就正式动手进行配置了。
以下命令都是在命令行进行手动敲入的,因为自动化脚本并不能解决在安装openvpn过程中遇到的各种小问题,所以需要手动来配置,才能最后让
openvpn正常运作。所以请大家耐心的进行复制粘贴。出现了错误,仔细分析前因后果。
记住需要使用到的常量,在下面输入的时候,要记得用这些变量的值,替换变量,不要原封不动的复制粘贴代码。
$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="me@myhost.mydomain"
编辑完毕后,保存一下,执行下面的命令
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
进入key目录
cd keys
生成key
openvpn --genkey --secret ta.key
cp ./{ca.crt,ca.key,ta.key,server.crt,server.key,dh1024.pem} /etc/openvpn/
编辑openvpn配置文件 vim /etc/openvpn/openvpn.conf
用下面的内容替换原来的内容
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
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"
ifconfig-pool-persist ipp.txt
duplicate-cn
keepalive 10 120
client-to-client
comp-lzo
comp-noadapt
mssfix 1200
fragment 1200
user daemon
group daemon
persist-key
persist-tun
status openvpn-status.log
verb 3
配置文件保存后,现在开始配置网络相关设置,先开启转发功能
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
使设定生效
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
保存 防火墙规则,让它在下次启动系统时自动生效
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
ca ca.crt
cert client1.crt
key client1.key
fragment 1200
verb 3
注意把上面的$ip,$HOSTNAME变量替换为真实的主机名和IP地址,不得有误
打包密匙,供客户端使用
tar -zcvf keys.tar.gz ca.crt ca.key client1.crt client1.csr client1.key ta.key $HOSTNAME.ovpn
移动到Root的主目录下面
mv keys.tar.gz ~/
你可以用Winscp等软件,把这个下载回来。解压放到你的openvpn目录下面使用
这些密匙和配置文件是放在C:\Program Files\OpenVPN\config
下面,需要使用vpn的时候,点开openvpn,直接connect即可。
客户端我们用的是openvpn gui
工具,在windows下面可
以很方便的连接openvpn服务器上。
在服务器端己经启动了,我们就可以用GUI工具进行连接了,右键点击托盘栏的小图标,启动connect即可连接vpn了。
参考资料
http://vpsnoc.com/blog/how-to-install-openvpn-on-a-debianubuntu-vps-instantly/
http://openvpn.se/download.html
https://help.ubuntu.com/9.10/serverguide/C/openvpn.html
http://www.douhua.im/2010/01/06/ubuntu-server-install-openvpn-server/
分享到:
相关推荐
在Ubuntu VPS上安装Docker时,可能会遇到一个常见的错误:“Cannot connect to the Docker daemon at unix:///var/run/docker.sock.” 这个问题通常是由于Docker守护进程未运行或者是由于Linux内核版本过低导致的。...
这是可以用于公司的OpenVZ-Template巫婆。 它是经过改编的Ubuntu 10.4,带有Neatx-Terminalserver和Webmincluster。 使用webmin可以轻松控制系统。 您永远不必使用终端。 有关信息,请访问Wiki。 尝试一下
Virtualizor - VPS控制面板可以用来管理OpenVZ、XEN、KVM、XenServer等虚拟技术的VPS
OpenVZ(Open Virtuozzo)是另一种轻量级的虚拟化技术,尤其适用于Linux环境。与KVM不同,OpenVZ不依赖硬件虚拟化,而是通过操作系统的资源隔离机制(如cgroups和namespaces)创建容器(Container),这些容器共享宿...
Ansible Playbook 可在您的 Openvz Ubuntu/Debian 服务器上快速安装 vzwatchd。 Vzwatchd 是一个 OpenVZ 监控守护进程,当达到容器的限制时,它会通过电子邮件通知服务器管理员。 要求 ANSIBLE 预安装。 执行脚本...
本教程覆盖了从选择VPS架构、安装系统到初步配置的基本流程,为Linux VPS新手提供了一个清晰的入门路径。随着对系统的熟悉和技能的提升,你可以进一步优化和扩展你的VPS环境,满足更多的应用需求。
在具有Centos 7(x86_64)的VPS机器上安装VitalPBX的脚本和资源 如何使用 如果尚未安装wget命令,请按以下方式安装它: yum install wget -y 下载脚本: wget ...
- **Apache Web服务器配置**:这部分内容着重讲解了如何利用Apache搭建Web服务器,并对其进行了详细的配置指导,包括基本的安装步骤、常见问题解决方法等。 - **LAMP组件详解**:除了Apache之外,本书还详细介绍了...
OpenVZ(Open Virtuozzo)是一种轻量级虚拟化技术,它基于Linux内核的容器技术,允许在同一物理服务器上创建多个独立的容器,每个容器都能运行自己的操作系统实例。"packer-openvz-templates"是一个专门针对OpenVZ...
在Ubuntu 16.04中安装LXC包可以使用命令 sudo apt install lxc 来完成,这将拉取所需的依赖包以及推荐的依赖包,并为容器设置网络桥接。如果希望使用非特权容器,用户需要确保有足够的分配的subuids和subgids,并...
virtualizor是一个虚拟服务器(VPS)的控制面板,可以用来管理OpenVZ、XEN、KVM、XenServer等虚拟技术的VPS,功能类似于SolusVM,同样可以与WHMCS进行整合,从而实现自动化管理。 virtualizor官方网站:...
openvz在虚拟技术的地位不容置疑,这是一份指导,
Openvz VZ 模板的免费模板,使用此虚拟化的 vps 的预制开放 vz 模板的集合,包括一些像 virtualmin 和控制面板 Cpanel,webmin,所有控制面板,使用户可以轻松地安装这些项目
你可以选择不同的操作系统发行版,如Ubuntu、CentOS等,并在模板制作过程中自定义语言环境、软件包和配置。 2. **优化模板**:脚本会自动进行一些性能优化,如减少不必要的服务、精简文件系统,以及调整内核参数以...
OpenVZ和Xen性能比较,结果表明OpenVZ更高效。当然,两者有各自的适用面。
描述中提到该资源是“解压后可用”,这意味着下载并安装这个`.whl`文件后,用户可以直接在Python环境中调用`sloth_ci.ext.openvz_exec`库的功能。这通常涉及使用`pip`命令来安装这个包,如`pip install sloth_ci.ext...
OpenVZ 魔改 BBR - lkl-rinetd 一键脚本1.1.0版本开始使用要求以下:OpenVZ64 bitRam >> 64M更新: 2018-03-24 新增 多网卡 适配Debian or Ubuntu适用于 单网卡(单 IP) 服务器:wget ...适用于 多网卡(多 IP) ...
Vtonf是一款免费的基于web界面的控制面板(符合GPL),它可以管理OpenVz上虚拟专用服务器(VPS)。使用她甚至是那些有很少专业只是的用户也可以很简单地创建和管理OpenVZ上的虚拟机。