ubuntu搭建vpn服务器
㈠ 如何在 Debian / Ubuntu 服务器上架设PPTP / L2TP / IPSec VPN
你说的是服务器端 ??? 网上有类似的脚本 下载脚本 更改 权限 ./****.sh 运行就行了
㈡ 如何阿里云ubuntu 搭建vpn
vpn是一种虚拟专用网络,其作用是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。
㈢ 如何在Ubuntu下配置L2TP VPN
如何在Ubuntu下配置L2TP VPN
1、右键单击“网上邻居”选择“属性”,打开网络连接属性。
2、在右侧的“网络任务”栏中点击“创建一个新的连接。
3、打开新建连接向导,点“下一步”。在 “网络连接属性”选择里,点击“设置高级连接”,点击“下一步”,然后,在接下来的“高级连接选项”中选择“接受传入的连接”。点击“下一步”。勾寻直接并行,点击“下一步”。
4、勾寻允许虚拟专用连接”,点“下一步”。
5、创建一个允许连接的用户权限。点击“添加”按钮,输入双鱼IP转换器账户和密码后点“确定”。点击“下一步”继续。
6、在“网络软件”中勾选需要用到的协议,一般保持默认即可。点击“下一步”后,服务器就搭建完成了。
选择“开始”→“设置”→“控制面板”→“网络连接”→“创建一个新的连接”→“下一步”→“连接到我的工作场所的网络”→“下一步”→“虚拟专用网络连接”,按说明完成后面的操作即可。
㈣ 如何在Ubuntu下配置L2TP VPN
安装软件包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打开 /etc/ipsec.conf 文件,做如下配置:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24
# 这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,
# 这些地址范围应该是你的NAT路由器后面的客户端的地址。
oe=off
protostack=netkey
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
# Apple 的 iOS 不会发送 delete 提醒,
# 所以我们需要通过死亡对端(dead peer)检测来识别断掉的客户端
dpddelay=30
dpdtimeout=120
dpdaction=clear
# 设置 ikelifetime 和 keylife 和 Windows 的默认设置一致
ikelifetime=8h
keylife=1h
type=transport
# 替换 IP 地址为你的本地IP (一般是,私有地址、NAT内的地址)
left=x.x.x.x
# 用于升级过的 Windows 2000/XP 客户端
leftprotoport=17/1701
# 要支持老的客户端,需要设置 leftprotoport=17/%any
right=%any
rightprotoport=17/%any
# 强制所有连接都NAT,因为 iOS
forceencaps=yes
注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"应该顶着行头写,而其它行应该以8个空格缩进。
打开 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK "somegoodpassword"
这里x.x.x.x 替换为你的服务器的IP地址,并设置一个复杂的密码。
启动 IPSEC 服务:
/etc/init.d/ipsec start
使用如下命令确认 ipsec 是否工作正常:
sudo ipsec verify
应该没有任何错误才行:
Checking your system to see ifIPsec got installed and started correctly:
Version check and ipsec on-path [OK]
LinuxOpenswan U2.6.28/K2.6.32-32-generic-pae (netkey)
CheckingforIPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [OK]
NETKEY detected, testing for disabled ICMP accept_redirects [OK]
Checking that pluto is running [OK]
Pluto listening for IKE on udp 500[OK]
Pluto listening for NAT-T on udp 4500[OK]
Checkingfor'ip' command [OK]
Checkingfor'iptables' command [OK]
[DISABLED]
在 /etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:
case"$1"in
start)
echo "Starting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24-j MASQUERADE
echo 1>/proc/sys/net/ipv4/ip_forward
for each in/proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec start
/etc/init.d/xl2tpd start
;;
stop)
echo "Stopping my Ipsec VPN"
iptables --table nat --flush
echo 0 > /proc/sys/net/ipv4/ip_forward
/etc/init.d/ipsec stop
/etc/init.d/xl2tpd stop
;;
restart)
echo "Restarting my Ipsec VPN"
iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
/etc/init.d/ipsec restart
/etc/init.d/xl2tpd restart
;;
*)
echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}"
exit 1
;;
esac
这会配置防火墙转发。记得修改上面文件的本地IP地址池10.152.2.0/24为你自己的。
然后给这个文件设置可执行权限:
sudo chmod 755 ipsec.vpn
禁止默认的 ipsec 服务脚本运行:
sudo update-rc.d -f ipsec remove
然后,启用我们刚才定制的这个:
sudo update-rc.d ipsec.vpn defaults
㈤ 如何在Ubuntu下配置PPTP VPN
介绍Ubuntu PPTP设置教程,设置前请配置好网络和更新源,另外检查安装最新更新。完成后,首先点击桌面右上角的网络图标,在下拉菜单里选择配置
在网络连接窗口中切换到选项卡,点击“添加”
在弹出创建VPN类型窗口中选择“Point-to-Point Tunneling Protocol (PPTP)”,点击“新建”。
填写连接名称和服务器地址、用户名密码。
点击上图右下角的“Advanced”按钮,在高级设置里取消“EAP”选项,另外勾选“Use point-to-point encryption(MPPE)”,然后点击确定退出。
用 世界游的 稳
㈥ 如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN
Ubuntu / Debian:自己把点换成 .
1
2
3
wget mirror.zeddicus点com/auto-l2tp/1.2/ubuntu/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh
此时需要输入IP段与PSK,值得注意的是,如果希望L2TP的IP段是 10.0.0.0 的话,则在脚本的IP-RANGE中输入 “10.0.0″。PSK 是 l2tp client 共同使用的密匙,同样是必填的。
输入了IP段和PSK之后,程序会显示你的VPS当前的IP(IPV4)、L2TP的本地IP、分配给客户端的IP段以及你所设置的PSK,请确认无误后,按任意键,程序便会开始自动配置。
安装完毕后会运行 ipsec verify,前面是OK,最后一个为DISABLED,证明配置成功!用于测试的用户名与密码分别是:test / test123,记录于 /etc/ppp/chap-secrets 文件当中。
㈦ 如何在Ubuntu下配置PPTP VPN
Ubuntu下SSH安装或设置
来源:Linux社区 作者:RaymondLu
Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:
sudo apt-get install openssh-server
(查看返回的结果,如果没有出错,则用putty、SecureCRT、SSH Secure Shell Client等SSH 客户端软件,输入您服务器的 IP 地址。如果一切正常的话,等一会儿就可以连接上了。并且使用现有的用户名和密码应该就可以登录了。)
然后确认sshserver是否启动了:(或用“netstat -tlp”命令)
ps -e | grep ssh
如果只有ssh-agent那ssh-server还没有启动,需要/etc/init.d/ssh start,如果看到sshd那说明ssh-server已经启动了。
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。然后重启SSH服务:
sudo /etc/init.d/ssh resart
事实上如果没什么特别需求,到这里 OpenSSH Server 就算安装好了。但是进一步设置一下,可以让 OpenSSH 登录时间更短,并且更加安全。这一切都是通过修改 openssh 的配置文件 sshd_config 实现的。
首先,您刚才实验远程登录的时候可能会发现,在输入完用户名后需要等很长一段时间才会提示输入密码。其实这是由于 sshd 需要反查客户端的 dns 信息导致的。我们可以通过禁用这个特性来大幅提高登录的速度。首先,打开 sshd_config 文件:
sudo nano /etc/ssh/sshd_config
找到 GSSAPI options 这一节,将下面两行注释掉:
#GSSAPIAuthentication yes #GSSAPIDelegateCredentials no然后重新启动 ssh 服务即可:
sudo /etc/init.d/ssh restart
再登录试试,应该非常快了吧
利用 PuTTy 通过证书认证登录服务器
SSH 服务中,所有的内容都是加密传输的,安全性基本有保证。但是如果能使用证书认证的话,安全性将会更上一层楼,而且经过一定的设置,还能实现证书认证自动登录的效果。
首先修改 sshd_config 文件,开启证书认证选项:
RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys修改完成后重新启动 ssh 服务。
下一步我们需要为 SSH 用户建立私钥和公钥。首先要登录到需要建立密钥的账户下,这里注意退出 root 用户,需要的话用 su 命令切换到其它用户下。然后运行:
ssh-keygen
这里,我们将生成的 key 存放在默认目录下即可。建立的过程中会提示输入 passphrase,这相当于给证书加个密码,也是提高安全性的措施,这样即使证书不小心被人拷走也不怕了。当然如果这个留空的话,后面即可实现 PuTTy 通过证书认证的自动登录。
ssh-keygen 命令会生成两个密钥,首先我们需要将公钥改名留在服务器上:
cd ~/.ssh mv id_rsa.pub authorized_keys然后将私钥 id_rsa 从服务器上复制出来,并删除掉服务器上的 id_rsa 文件。
服务器上的设置就做完了,下面的步骤需要在客户端电脑上来做。首先,我们需要将 id_rsa 文件转化为 PuTTy 支持的格式。这里我们需要利用 PuTTyGEN 这个工具:
点击 PuTTyGen 界面中的 Load 按钮,选择 id_rsa 文件,输入 passphrase(如果有的话),然后再点击 Save PrivateKey 按钮,这样 PuTTy 接受的私钥就做好了。
打开 PuTTy,在 Session 中输入服务器的 IP 地址,在 Connection->SSH->Auth 下点击 Browse 按钮,选择刚才生成好的私钥。然后回到 Connection 选项,在 Auto-login username 中输入证书所属的用户名。回到 Session 选项卡,输入个名字点 Save 保存下这个 Session。点击底部的 Open 应该就可以通过证书认证登录到服务器了。如果有 passphrase 的话,登录过程中会要求输入 passphrase,否则将会直接登录到服务器上,非常的方便。
㈧ 如何在Ubuntu下配置L2TP VPN
安装软件包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打开 /etc/ipsec.conf 文件,做如下配置:
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24
这里包含的网络地址允许配置为远程客户端所在的子网。换句话说,
这些地址范围应该是你的NAT路由器后面的客户端的地址。
㈨ 如何在Ubuntu下配置L2TP VPN
安装软件包
sudo apt-get install xl2tpd openswan ppp
IPSec / Openswan
打开 /etc/ipsec.conf 文件,做如下配置:
config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!10.152.2.0/24 # 这里包含的网络地址允许配置为远程客户端所在的子网。换句话说, # 这些地址范围应该是你的NAT路由器后面的客户端的地址。 oe=off protostack=netkey conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no # Apple 的 iOS 不会发送 delete 提醒, # 所以我们需要通过死亡对端(dead peer)检测来识别断掉的客户端 dpddelay=30 dpdtimeout=120 dpdaction=clear # 设置 ikelifetime 和 keylife 和 Windows 的默认设置一致 ikelifetime=8h keylife=1h type=transport # 替换 IP 地址为你的本地IP (一般是,私有地址、NAT内的地址) left=x.x.x.x # 用于升级过的 Windows 2000/XP 客户端 leftprotoport=17/1701 # 要支持老的客户端,需要设置 leftprotoport=17/%any right=%any rightprotoport=17/%any # 强制所有连接都NAT,因为 iOS forceencaps=yes
注意你的ipsec.conf文件,"config setup" 和 "L2TP-PSK-NAT"、 "L2TP-PSK-NAT"应该顶着行头写,而其它行应该以8个空格缩进。
打开 /etc/ipsec.secrets,配置:
x.x.x.x %any: PSK "somegoodpassword"
这里x.x.x.x 替换为你的服务器的IP地址,并设置一个复杂的密码。
启动 IPSEC 服务:
/etc/init.d/ipsec start
使用如下命令确认 ipsec 是否工作正常:
sudo ipsec verify
应该没有任何错误才行:
Checking your system to see if IPsec got installed and started correctly:Version check and ipsec on-path [OK]Linux Openswan U2.6.28/K2.6.32-32-generic-pae (netkey)Checking for IPsec support in kernel [OK]NETKEY detected, testing for disabled ICMP send_redirects [OK]NETKEY detected, testing for disabled ICMP accept_redirects [OK]Checking that pluto is running [OK]Pluto listening for IKE on udp 500 [OK]Pluto listening for NAT-T on udp 4500 [OK]Checking for 'ip' command [OK]Checking for 'iptables' command [OK]Opportunistic Encryption Support [DISABLED]
在 /etc/init.d 下创建一个名为 ipsec.vpn 的文件,内容如下:
case "$1" in start) echo "Starting my Ipsec VPN" iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done /etc/init.d/ipsec start /etc/init.d/xl2tpd start;; stop) echo "Stopping my Ipsec VPN" iptables --table nat --flush echo 0 > /proc/sys/net/ipv4/ip_forward /etc/init.d/ipsec stop /etc/init.d/xl2tpd stop;; restart) echo "Restarting my Ipsec VPN" iptables -t nat -A POSTROUTING -o eth0 -s 10.152.2.0/24 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirects done /etc/init.d/ipsec restart /etc/init.d/xl2tpd restart ;; *) echo "Usage: /etc/init.d/ipsec.vpn {start|stop|restart}" exit 1;;esac
这会配置防火墙转发。记得修改上面文件的本地IP地址池10.152.2.0/24为你自己的。
然后给这个文件设置可执行权限:
sudo chmod 755 ipsec.vpn
禁止默认的 ipsec 服务脚本运行:
sudo update-rc.d -f ipsec remove
然后,启用我们刚才定制的这个:
sudo update-rc.d ipsec.vpn defaults
L2TP
修改 /etc/xl2tpd/xl2tpd.conf :
[global]ipsec saref = no [lns default]ip range = 10.152.2.2-10.152.2.254local ip = 10.152.2.1require chap = yesrefuse pap = yesrequire authentication = yesppp debug = yespppoptfile = /etc/ppp/options.xl2tpdlength bit = yes
配置说明如下:
ip range = 可以连接VPN服务的客户端IP地址范围
local ip = VPN 服务器的IP,必须在客户端IP范围之外
refuse pap = 拒绝 pap 认证
ppp debug = 测试时打开
选择一个复杂的挑战-响应式验证字符串。虽然没有最短长度限制,不过它应该至少有16个字符,也应该足够复杂才能保证安全。
打开文件 /etc/xl2tpd/l2tp-secrets ,填入你的密码:
* * exampleforchallengestring
打开文件 /etc/ppp/options.xl2tpd,做如下配置:
refuse-mschap-v2refuse-mschapms-dns 8.8.8.8ms-dns 8.8.4.4asyncmap 0authcrtsctsidle 1800mtu 1200mru 1200lockhide-passwordlocal#debugname l2tpdproxyarplcp-echo-interval 30lcp-echo-failure 4
ms-dns 选项设置要给客户端分配的 DNS 服务器,当客户端连接时,就会被分配这些 DNS。如果要加入多个 DNS,就每行一个,分别写几行。
如果你要给客户端推送wins设置,可以分别设置如下选项。
mtu 和 mru 按照openswan.org的说法,减小 mru/mtu 的大小非常重要。因为 l2tp/ipsec 会封装几次,可能导致性能下降,减小这个配置的大小可以一次性传输全部的包。
proxyarp 可以将连接的客户端的IP地址和以太网地址加入的系统的ARP表中。这会影响到本地局域网内其它客户端。
name l2tpd 用在 PPP验证文件里面。
添加用户
打开文件 /etc/ppp/chap-secrets ,做如下配置:
user1 l2tpd chooseagoodpassword *user2 * chooseagoodpassword *
每行包括如下字段:
客户端 = 用户名称
服务器 = 在上面的 /etc/ppp/options.xl2tpd 定义的名字
密码 = 用户密码,你应该设置一个足够复杂的密码
IP 地址 = * 表示用户可以从任何地址连接,否则设置用户只能从特定的地址连接
注意:你可以添加多个用户。
IP转发
打开文件 /etc/sysctl.conf,修改配置:
net.ipv4.ip_forward=1
载入新的配置:
sysctl -p
启动VPN
sudo /etc/init.d/ipsec.vpn restartsudo /etc/init.d/xl2tpd restart
排除故障
如果遇到了问题,以下命令可以帮助你找到问题:
sudo tcpmp -i ppp0sudo tail -f /var/log/auth.logsudo tail -f /var/log/syslog
你可以可以在服务器上使用如下命令来监控:
sudo tcpmp -i eth0 host aaa.bbb.ccc.ddd and not port ssh
㈩ 如何在Ubuntu上安装OpenVPN
我理解,OpenVPN的配置根据实现分三种方式:
单机 - - 站点
站点 - - 站点
单机 - - 单机
本文的描述适合单机 - - 站点实现方式,也可以理解为移动用户连回公司网络。
目录
1. 安装
2. 设置认真机构,产生证书
3. 配置Server端
4. 配置Client端
1. 安装
Ubuntu中安装OpenVPN极其简单:
代码: sudo apt-get install openvpn
在Windows中安装则建议使用 OpenVPN GUI for Windows的Installation Package,其中包括了OpenVPN本身以及在Windows中使用方便的图形界面。
2. 设置认真机构,产生证书
参考OpenVPN的Howto进行操作,一般不会有什么问题。
在Ubuntu中大致这样操作,将目录 /usr/share/doc/openvpn/examples/easy-rsa/2.0 复制的你的家目录,修改vars使其符合你的实际情况(国家、省份、城市、公司、机构、邮件地址),然后运行 代码: ./vars
./clean-all
./build-ca
./build-key-server <servername>
./build-key <clientname>
./build-dh
注
意:这只是第一次产生证书的正确操作,其中 build-ca 创建根证书,若你没有清除全部VPN
Server/Client的打算,你不应该再次运行此命令;创建的全部证书及私钥都在当前目录的 keys 下面,而命令 clean-all 将清除
keys 下面全部内容,因此 cliean-all 只在 build-ca 前运行一次。
随后添加 Server 证书或 Client 证书只需运行 代码: ./vars
./build-key-server <servername>
or
./build-key <clientname>
3. 配置Server端
从示例中解压 server.conf 代码: sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gzip -d /etc/openvpn/server.conf.gz
将相关证书、私匙拷贝的 /etc/openvpn
ca.crt
server.crt
server.key
dh1024.pem
修改 server.conf
关键一:取消注释 push "route a.b.c.d 255.255.255.0",并将地址和掩码替换为办公网络的地址和掩码
目
的是为客户端加一条路由,这样客户端才有可能访问到办公网络中出VPN
Server之外的其它主机(有很多VPN客户端直接添加默认路由,这样客户端的所有连接请求都被路由到 VPN
通道内,结果是客户端此时不能访问VPN,而此项添加指定地址的路由不会导致这一问题)
关键二:取消注释 push "dhcp-option
DNS a.b.c.d" 和 push "dhcp-option WINS a.b.c.d", 并将地址替换为实际的 DNS 和 WINS
服务器的地址,最好 DNS 服务器能将外部域名的解析要求转发的外部 DNS 服务器
目的是客户端连接VPN后仍能访问Internet,(若推过来的DNS不能解析外部域名,则即使客户端的路由配置正确,想通过域名访问Internet也不可能)
Server端其它设置
配置服务器,运行包转发: 代码: echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
关键三:若VPN Server不是办公网络的默认网关,则想办法在默认网关上添加到 10.8.0.0/24 的路由项目,网关为服务器的内部 IP 地址。
关键一中的操作只是能够让客户端知道去往公司网络的包如何路由,而关键三的操作是为了让公司网络里的主机知道去往VPN Client的包如何路由。
对
于Netscreen 25(screenos 5.3.0r3.0),Network - Routing - Destination -
[trust-vr]New - IP/mask [10.8.0.0]/[24] - 选 [Gateway], Interface
[ethernet1], Gateway IP Address [Internal IP of VPN Server]
4. 配置Client端
在Ubuntu中,
4.1.1 从示例中拷贝client.conf 代码: sudo cp //usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
4.1.2 将相关证书、私钥拷贝到/etc/openvpn:
ca.crt
client.crt
client.key
4.1.3 修改/etc/openvpn/client.conf:
在 remote my-server-1 1194 这一行,将 my-server-1 换成 VPN Server 的外部IP
关键四:在结尾添加两行 代码: up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
目的是根据Server推过来的 dhcp-option 更新域名解析设置
4.1.4 其它设置:
关键五:安装resolvconf软件包 代码: sudo apt-get install resolvconf 关键四中设置的脚本需要使用此软件。
在Windows中,
4.2.1 将client.ovpn拷贝的config目录
4.2.2 将证书和相关私匙拷贝到config目录
ca.crt
client.crt
client.key
4.2.3 将client.ovpn中的my-server-1改为VPN Server的外部IP