<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>centos &#8211; bhzhuOS爱好者(原StartOS爱好者)</title>
	<atom:link href="https://www.bhzhu203.com/tag/centos/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bhzhu203.com</link>
	<description>QQ群号125732839</description>
	<lastBuildDate>Fri, 11 Nov 2016 11:09:08 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.5.7</generator>
	<item>
		<title>Centos安装Cisco IPSec VPN方式</title>
		<link>https://www.bhzhu203.com/2016/11/11/centos%e5%ae%89%e8%a3%85cisco-ipsec-vpn%e6%96%b9%e5%bc%8f/</link>
		
		<dc:creator><![CDATA[bhzhu203]]></dc:creator>
		<pubDate>Fri, 11 Nov 2016 11:09:08 +0000</pubDate>
				<category><![CDATA[linux知识]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[repo]]></category>
		<guid isPermaLink="false">http://www.bhzhu203.com/?p=377</guid>

					<description><![CDATA[Centos安装Cisco IPSec V-P-N方式 发布于 2015年02月 [&#8230;]]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-embedded-content" data-secret="2y5F5nZ2Ak"><p><a href="https://sunweiwei.com/1948/">Centos安装Cisco IPSec V-P-N方式</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted" title="《 Centos安装Cisco IPSec V-P-N方式 》—simon博客" src="https://sunweiwei.com/1948/embed/#?secret=20LrAGjbDM#?secret=2y5F5nZ2Ak" data-secret="2y5F5nZ2Ak" width="600" height="338" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>发布于 2015年02月25日 作者：孙伟伟</p>
<p>环境：centos 6.5 X86_64</p>
<p>更新源：<br />
1<br />
2<br />
3</p>
<p>yum install wget vim -y<br />
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo<br />
yum makecache</p>
<p>下载软件：<br />
1<br />
2<br />
3</p>
<p>wget ftp://ftp.pbone.net/mirror/ftp.pramberger.at/systems/linux/contrib/rhel5/x86_64/ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm</p>
<p>wget ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/aevseev/CentOS_CentOS-6/x86_64/ipsec-tools-0.8.0-25.3.x86_64.rpm</p>
<p>安装依赖包：<br />
1<br />
2</p>
<p>yum install openssl098e-0.9.8e-18.el6_5.2.x86_64 -y<br />
yum install compat-openldap-2.3.43-2.el6.x86_64 -y</p>
<p>安装：<br />
1<br />
2</p>
<p>rpm -ivh ipsec-tools-libs-0.8.0-1.el5.pp.x86_64.rpm<br />
rpm -ivh ipsec-tools-0.8.0-25.3.x86_64.rpm</p>
<p>设置欢迎信息：<br />
1</p>
<p>vim /etc/racoon/motd</p>
<p>设置VPN组名和密钥：<br />
1</p>
<p>vim /etc/racoon/psk.txt</p>
<p>123 123</p>
<p>chmod 700 /etc/racoon/psk.txt</p>
<p>设置配置文件：</p>
<p>vim /etc/racoon/racoon.conf</p>
<p>path include &#8220;/etc/racoon&#8221;;<br />
#include &#8220;remote.conf&#8221;;<br />
path pre_shared_key &#8220;/etc/racoon/psk.txt&#8221;;<br />
path certificate &#8220;/etc/racoon/cert&#8221;;<br />
#log debug;</p>
<p>listen<br />
{<br />
isakmp 10.211.55.64 [500];<br />
isakmp_natt 10.211.55.64 [4500];<br />
}</p>
<p>remote anonymous<br />
{<br />
exchange_mode main, aggressive, base;<br />
mode_cfg on;<br />
proposal_check obey; # obey, strict, or claim<br />
nat_traversal on;<br />
generate_policy unique;<br />
ike_frag on;<br />
passive on;<br />
dpd_delay 30;</p>
<p>proposal {<br />
lifetime time 28800 sec;<br />
encryption_algorithm 3des;<br />
hash_algorithm md5;<br />
authentication_method xauth_psk_server;<br />
dh_group 2;<br />
}<br />
}</p>
<p>sainfo anonymous<br />
{<br />
encryption_algorithm 3des, aes, blowfish;<br />
authentication_algorithm hmac_sha1, hmac_md5;<br />
compression_algorithm deflate;<br />
}</p>
<p>mode_cfg<br />
{<br />
auth_source system;<br />
dns4 8.8.8.8, 114.114.114.114;<br />
banner &#8220;/etc/racoon/motd&#8221;;<br />
save_passwd on;<br />
network4 192.168.0.100;<br />
netmask4 255.255.255.0;<br />
pool_size 100;<br />
pfs_group 2;<br />
}</p>
<p>添加系统的用户和密码：<br />
1</p>
<p>useradd -MN -b /tmp -s /sbin/nologin testvpn passwd testvpn</p>
<p>开启转发：<br />
1</p>
<p>sed -i &#8216;s/^\(net.ipv4.ip_forward =\).*/\1 1/&#8217; /etc/sysctl.conf; sysctl -p</p>
<p>设置防火墙规则：</p>
<p>linode主机先修复iptables的规则链问题。<br />
1<br />
2<br />
3<br />
4</p>
<p>iptables -I INPUT -p udp &#8211;dport 500 -j ACCEPT<br />
iptables -I INPUT -p udp &#8211;dport 4500 -j ACCEPT<br />
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE<br />
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT</p>
<p>保存：<br />
1<br />
2</p>
<p>service iptables save<br />
service iptables restart</p>
<p>启动：<br />
1</p>
<p>racoon -f /etc/racoon/racoon.conf -l /var/log/racoon.log -d<br />
2</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>http://ju.outofmemory.cn/entry/72255</p>
<p>Debian系Linux发行版的Cisco Ipsec VPN搭建方法</p>
<p>由于某些原因，我需要VPN。于是自己想办法搭建，从安全和效率方面考虑，我选择了Cisco Ipsec VPN。度娘谷歌了一番，最终选择了racoon。</p>
<p>下面就来说说我的搭建过程。</p>
<p>我的安装环境： XenSystem Ubuntu 10.10 Server x86</p>
<p>1、安装racoon<br />
apt-get install racoon</p>
<p>2、配置racoon</p>
<p>待安装好后，就可以开始配置了，主要配置的是racoon.conf和psk.txt以及motd。</p>
<p>首先配置/etc/racoon/racoon.conf</p>
<p>将原内容替换为以下内容：</p>
<p>log info;<br />
path include &#8220;etc/racoon&#8221;;<br />
path pre_shared_key &#8220;/etc/racoon/psk.txt&#8221;;</p>
<p>listen<br />
{<br />
isakmp 1.2.3.4 [500]; #1.2.3.4替换为服务器的公网IP<br />
isakmp_natt 1.2.3.4 [4500]; #1.2.3.4替换为服务器的公网IP</p>
<p>}<br />
remote anonymous<br />
{<br />
exchange_mode main,aggressive;<br />
doi ipsec_doi;<br />
nat_traversal on;<br />
proposal_check obey;<br />
generate_policy unique;<br />
ike_frag on;<br />
passive on;<br />
dpd_delay = 30;<br />
dpd_retry = 30;<br />
dpd_maxfail = 800;<br />
mode_cfg = on;<br />
proposal<br />
{<br />
encryption_algorithm aes;<br />
hash_algorithm sha1;<br />
authentication_method xauth_psk_server;<br />
dh_group 2;<br />
lifetime time 12 hour;<br />
}<br />
}<br />
timer<br />
{<br />
natt_keepalive 20 sec;<br />
}</p>
<p>sainfo anonymous<br />
{<br />
lifetime time 12 hour;<br />
encryption_algorithm aes,3des,des;<br />
authentication_algorithm hmac_sha1,hmac_md5;<br />
compression_algorithm deflate;</p>
<p>}<br />
mode_cfg<br />
{<br />
dns4 8.8.8.8,8.8.4.4;<br />
save_passwd on;<br />
network4 192.168.33.254; #客户端IP<br />
netmask4 255.255.255.0;<br />
pool_size 250; #允许的客户端数量<br />
banner &#8220;/etc/racoon/motd&#8221;;<br />
auth_source pam;<br />
conf_source local;<br />
pfs_group 2;<br />
default_domain &#8220;local&#8221;;<br />
}</p>
<p>接着，配置/etc/racoon/psk.txt<br />
在末尾加入一行：组名称 组密匙<br />
即可。<br />
然后，配置/etc/racoon/motd<br />
这里主要是写欢迎信息的。里面是空的都无所谓。为了兼容性，请务必建立这个文件。<br />
最后为了能够透过VPN连接互联网，还需要设置系统做IP包转发：</p>
<p>sed -i &#8216;s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g&#8217; /etc/sysctl.conf</p>
<p>紧接着执行sysctl -p使之立即生效。<br />
接着添加防火墙规则：</p>
<p>iptables &#8211;table nat &#8211;append POSTROUTING -o ethX &#8211;jump MASQUERADE</p>
<p>ubuntu并不会保存防火墙设置，所以这里可以把防火墙放进启动脚本里，以便服务器重启后能够自动添加规则。<br />
OK，现在就可以使用支持Xaush PSK的客户端连接VPN了。<br />
参考资料：<br />
https://w3.owind.com/pub/linux-cisco-vpn-server-for-dummies<br />
http://chenhm.com/2013/04/vpn2-ipsec-debian/</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>http://ifreedomlife.com/2015/04/20/Setup-Cisco-AnyConnect-VPN-on-CentOS7/</p>
<p>在 CentOS 7 上搭建 Cisco AnyConnect VPN<br />
Apr 20, 2015</p>
<p>因为最近的干扰力度变大，考虑到 AnyConnect 是思科的安全远程接入解决方案，隐蔽性要好一些，所以决定在服务器上搭建 AnyConnect 以提供给 iOS 设备使用，原来的 Cisco IPSec VPN 废弃，Shadowsocks 保留用于安卓和PC的连接。</p>
<p>AnyConnect 有以下优势：</p>
<p>待机不会断开<br />
能够下发路由表给客户端（未测试）<br />
稳定<br />
耗电量较低</p>
<p>2015-11-26 更新：添加证书登录方式</p>
<p>2015-12-02 更新：更新转发规则<br />
1. 安装 ocserv (OpenConnect server)</p>
<p>ocserv 是一个 OpenConnect SSL VPN 协议服务端，0.3.0 版后兼容使用 AnyConnect SSL VPN 协议的终端。<br />
官方主页：http://www.infradead.org/ocserv/</p>
<p>ocserv 已经在 epel 仓库中提供了，所以可以直接通过 yum 安装</p>
<p>$ yum install epel-release<br />
$ yum install ocserv</p>
<p>2. 生成证书</p>
<p>这里你需要先仔细阅读官方文档，简单的来说，如下几步<br />
1. 创建工作文件夹</p>
<p>$ mkdir anyconnect<br />
$ cd anyconnect</p>
<p>2. 生成 CA 证书</p>
<p>$ certtool &#8211;generate-privkey &#8211;outfile ca-key.pem<br />
$ cat &gt;ca.tmpl &lt;&lt;EOF<br />
cn = &#8220;VPN CA&#8221;<br />
organization = &#8220;Big Corp&#8221;<br />
serial = 1<br />
expiration_days = 3650<br />
ca<br />
signing_key<br />
cert_signing_key<br />
crl_signing_key<br />
EOF<br />
$ certtool &#8211;generate-self-signed &#8211;load-privkey ca-key.pem \<br />
&#8211;template ca.tmpl &#8211;outfile ca-cert.pem</p>
<p>把生成的 ca-cert.pem 放到 /etc/ocserv/ 中<br />
3. 生成本地服务器证书</p>
<p>$ certtool &#8211;generate-privkey &#8211;outfile server-key.pem<br />
$ cat &gt;server.tmpl &lt;&lt;EOF<br />
cn = &#8220;www.example.com&#8221;<br />
organization = &#8220;MyCompany&#8221;<br />
serial = 2<br />
expiration_days = 3650<br />
encryption_key<br />
signing_key<br />
tls_www_server<br />
EOF<br />
$ certtool &#8211;generate-certificate &#8211;load-privkey server-key.pem \<br />
&#8211;load-ca-certificate ca-cert.pem &#8211;load-ca-privkey ca-key.pem \<br />
&#8211;template server.tmpl &#8211;outfile server-cert.pem</p>
<p>把生成的 server-cert.pem 和 server-key.pem 放到 /etc/ocserv/ 中<br />
4. 生成客户端证书</p>
<p>创建 gen-client-cert.sh</p>
<p>$ cat &gt;gen-client-cert.sh &lt;&lt;EOF<br />
#!/bin/bash<br />
USER=$1<br />
CA_DIR=$2<br />
SERIAL=`date +%s`<br />
certtool &#8211;generate-privkey &#8211;outfile $USER-key.pem<br />
cat &lt;&lt; _EOF_ &gt;user.tmpl<br />
cn = &#8220;$USER&#8221;<br />
unit = &#8220;users&#8221;<br />
serial = &#8220;$SERIAL&#8221;<br />
expiration_days = 9999<br />
signing_key<br />
tls_www_client<br />
_EOF_<br />
certtool &#8211;generate-certificate &#8211;load-privkey $USER-key.pem &#8211;load-ca-certificate $CA_DIR/ca-cert.pem &#8211;load-ca-privkey $CA_DIR/ca-key.pem &#8211;template user.tmpl &#8211;outfile $USER-cert.pem<br />
openssl pkcs12 -export -inkey $USER-key.pem -in $USER-cert.pem -name &#8220;$USER VPN Client Cert&#8221; -certfile $CA_DIR/ca-cert.pem -out $USER.p12<br />
EOF</p>
<p>创建用户文件夹并调用 gen-client-cert.sh 生成证书</p>
<p>$ mkdir user<br />
$ cd user<br />
# user 指的是用户名，.. 指的是 ca 证书所在的目录<br />
$ ../gen-client-cert.sh user ..<br />
# 按提示设置证书使用密码，或直接回车不设密码</p>
<p>最后，通过 http 服务器或其他方式将 user.p12 传输给客户端导入即可<br />
3. 配置 ocserv</p>
<p>$ sudo vim /etc/ocserv/ocserv.conf</p>
<p>主要修改以下部分</p>
<p>#ocserv支持多种认证方式，这是自带的密码认证，使用ocpasswd创建密码文件<br />
#ocserv还支持证书认证，可以通过Pluggable Authentication Modules (PAM)使用radius等认证方式<br />
auth = &#8220;plain[passwd=/etc/ocserv/ocpasswd]&#8221;<br />
#指定替代的登录方式，这里使用证书登录作为第二种登录方式<br />
enable-auth = &#8220;certificate&#8221;<br />
#证书路径<br />
server-cert = /etc/ocserv/server-cert.pem<br />
server-key = /etc/ocserv/server-key.pem<br />
#ca路径<br />
ca-cert = /etc/ocserv/ca-cert.pem<br />
#从证书中提取用户名的方式，这里提取的是证书中的 CN 字段作为用户名<br />
cert-user-oid = 2.5.4.3<br />
#最大用户数量<br />
max-clients = 16<br />
#同一个用户最多同时登陆数<br />
max-same-clients = 10<br />
#tcp和udp端口<br />
tcp-port = 4433<br />
udp-port = 4433<br />
#运行用户和组<br />
run-as-user = ocserv<br />
run-as-group = ocserv<br />
#虚拟设备名称<br />
device = vpns<br />
#分配给VPN客户端的IP段<br />
ipv4-network = 10.12.0.0<br />
ipv4-netmask = 255.255.255.0<br />
#DNS<br />
dns = 8.8.8.8<br />
dns = 8.8.4.4<br />
#注释掉route的字段，这样表示所有流量都通过 VPN 发送<br />
#route = 192.168.1.0/255.255.255.0<br />
#route = 192.168.5.0/255.255.255.0</p>
<p>4. 创建用户</p>
<p>#username为你要添加的用户名<br />
$ sudo ocpasswd -c /etc/ocserv/ocpasswd username</p>
<p>5. 配置系统设置</p>
<p>开启内核转发</p>
<p>$ sudo sed -i &#8216;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/g&#8217; /etc/sysctl.conf<br />
$ sudo sysctl -p</p>
<p>配置 iptables 规则</p>
<p>你可以参考Linode 的文章来配置 iptables</p>
<p>#IP段和eth0接口和vpns类接口要根据自己的情况修改<br />
$ sudo iptables -t nat -A POSTROUTING -s 10.12.0.0/24 -o eth0 -j MASQUERADE<br />
$ sudo iptables -A FORWARD -i vpns+ -j ACCEPT<br />
$ sudo iptables -A FORWARD -o vpns+ -j ACCEPT<br />
$ sudo iptables-save &gt; /etc/sysconfig/iptables</p>
<p>6. 测试</p>
<p>现在我们可以开启服务器试试了</p>
<p>$ sudo ocserv -c /etc/ocserv/ocserv.conf -f -d 1</p>
<p>拿起你的 iOS 设备，下载思科的 AnyConnect 客户端，连接你的服务器。</p>
<p>出现问题可以看debug的返回信息，如果信息不详细，可以把 1 改成 10。</p>
<p>如果没有问题，那么就可以配置成开机运行了。</p>
<p>$ sudo systemctl enable ocserv<br />
$ sudo systemctl start ocserv</p>
<p>a. 下发路由</p>
<p>我想这个功能是最激动人心的，因为我们手机如果长期连接，那么肯定是某些服务走 VPN，而国内的网站可以走手机自己的网络体验最好。</p>
<p>但是这里的一个问题是，AnyConnect 有下发路由表的 64 条数限制。</p>
<p>所以我们只能保证下某几个常用的服务是可用的，比如 Google Facebook 以及 Twitter</p>
<p>编辑配置文件</p>
<p>$ sudo vim /etc/ocserv/ocserv.conf</p>
<p>添加 route = 的字段即可<br />
#. 参考</p>
<p>AnyConnect 带来 iPhone 上的新生活<br />
在CentOS 6.5上配置Cisco AnyConnect VPN<br />
2015-12-02 更新</p>
<p>不知道为什么，原有的转发规则在启用防火墙后有问题，配置 iptables 后查询 dmesg 输出发现从设备发来的包正常，但是发回设备的包全部被 reject 了，最后干脆放过了所有 ocserv 创建的虚拟网络设备的浏览。</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
