平台debian 7 x86_64 1,安装strongswan apt-get update apt-get upgrade -y yes |cp /usr/share/zoneinfo/Asia/
平台debian 7 x86_64
1,安装strongswan
apt-get update
apt-get upgrade -y
yes |cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
apt-get install -y libpam0g-dev libssl-dev make gcc
wget https://download.strongswan.org/strongswan-5.5.1.tar.gz
tar xzf strongswan-5.5.1.tar.gz
cd /root/strongswan-5.5.1/
./configure --enable-eap-identity --enable-eap-md5 /
--enable-eap-mschapv2 --enable-eap-tls --enable-eap-ttls --enable-eap-peap /
--enable-eap-tnc --enable-eap-dynamic --enable-eap-radius --enable-xauth-eap /
--enable-xauth-pam --enable-dhcp --enable-openssl --enable-addrblock --enable-unity /
--enable-certexpire --enable-radattr --enable-tools --enable-openssl --disable-gmp
make && make install
2,生成秘钥证书
ipsec pki --gen --outform pem > /root/ca.pem
ipsec pki --self --in ca.pem --dn "C=cc, O=sswan, CN=VPNCA" --ca --outform pem >/root/ca.cert.pem
ipsec pki --gen --outform pem > /root/server.pem
ipsec pki --pub --in /root/server.pem | ipsec pki --issue --cacert /root/ca.cert.pem /
--cakey /root/ca.pem --dn "C=cc, O=sswan, CN=vpsIP" /
--san="vpsIP" --flag serverAuth --flag ikeIntermediate /
--outform pem > /root/server.cert.pem
ipsec pki --gen --outform pem > /root/client.pem
ipsec pki --pub --in /root/client.pem | ipsec pki --issue --cacert /root/ca.cert.pem --cakey /root/ca.pem --dn "C=cc, O=sswan, CN=VPN Client" --outform pem > /root/client.cert.pem
openssl pkcs12 -export -inkey /root/client.pem -in /root/client.cert.pem -name "client" -certfile /root/ca.cert.pem -caname "VPNCA" -out /root/client.cert.p12
cp -r /root/ca.cert.pem /usr/local/etc/ipsec.d/cacerts/
cp -r /root/server.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r /root/server.pem /usr/local/etc/ipsec.d/private/
cp -r /root/client.cert.pem /usr/local/etc/ipsec.d/certs/
cp -r /root/client.pem /usr/local/etc/ipsec.d/private/
3,配置strongswan
cat > /usr/local/etc/ipsec.conf<<-EOF
config setup
uniqueids=no
conn %default
keyexchange=ikev2
ike=aes256gcm16-aes256gcm12-aes128gcm16-aes128gcm12-aesxcbc-sha256-sha1-modp4096-modp2048-modp1024,aes256-aes128-sha256-sha1-modp4096-modp2048-modp1024,3des-sha1-modp1024!
esp=aes128gcm12-aes128gcm16-aes256gcm12-aes256gcm16-modp4096-modp2048-modp1024,aes128-aes256-sha1-sha256-modp4096-modp2048-modp1024,aes128-sha1-modp4096,aes128-sha1-modp1024,aes128-sha1,3des-sha1!
dpdaction=clear
dpddelay=300s
rekey=no
conn windows
left=%defaultroute
leftsubnet=0.0.0.0/0
leftauth=pubkey
leftcert=server.cert.pem
leftid=vpsIP
right=%any
rightsourceip=10.1.2.0/24
rightauth=eap-mschapv2
rightsendcert=never
eap_identity=%any
auto=add
EOF
cat > /usr/local/etc/strongswan.conf <<-EOF
charon {
load_modular = yes
compress = yes
plugins {
include strongswan.d/charon/*.conf
}
filelog {
/var/log/charon.log {
time_format = %b %e %T
ike_name = yes
append = no
default = 2
flush_line =yes
}
}
dns1 = 8.8.8.8
dns2 = 8.8.4.4
}
include strongswan.d/*.conf
EOF
cat > /usr/local/etc/ipsec.secrets <<-EOF
: RSA server.pem
: PSK "hellword"
: XAUTH "asd123"
law %any : EAP "hello"
EOF
4,设置系统转发
sed -i 's/#net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
echo 1 > /proc/sys/net/ipv4/ip_forward
ipsec start 启动守护进程
5,防火墙设置
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p tcp --dport 22 -i eth0 -j ACCEPT
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -p udp --dport 53 -i eth0 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -i eth0 -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.11.2.0/24 -j ACCEPT
iptables -A INPUT -i eth0 -p esp -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 1701 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -o eth0 -j MASQUERADE
win7使用自带客户端(Agile):
6,导入证书:
开始菜单 -「cmd」,打开后输入 mmc(Microsoft 管理控制台)。
「文件」-「添加/删除管理单元」,添加「证书」单元
证书单元的弹出窗口中一定要选「计算机账户」,之后选「本地计算机」,确定。
在左边的「控制台根节点」下选择「证书」-「个人」,然后右击选「更多操作」-「所有任务」-「导入」打开证书导入窗口。
选择刚才生成的 client.cert.p12 文件。下一步输入私钥密码。下一步「证书存储」选「个人」。
继续选择「证书」-「受信任的根证书颁发机构」,然后右击选「更多操作」-「所有任务」-「导入」打开证书导入窗口。选择刚才生成的 client.cert.p12 文件。下一步输入私钥密码。下一步「证书存储」选「受信任的根证书颁发机构」。
然后关闭 mmc,提示「将控制台设置存入控制台1吗」,选「否」即可。
至此,证书导入完成。
注意:千万别双击 .p12 证书导入!因为那样会导入到当前用户而不是本地计算机中,ipsec deamon是访问不了它的。
,
7,建立连接:
「控制面板」-「网络和共享中心」-「设置新的连接或网络」-「连接到工作区」-「使用我的 Internet 连接」
Internet 地址写服务器IP地址,目标名称随便写
用户名密码写之前ipsec.secrets配置的 EAP 的那个用户名和密码(也可以先空着,勾上现在不连接,一会连接时再输),创建。
点击任务栏右下角网络连接图标,在新建的 VPN 连接上右键属性然后切换到「安全」选项卡。
VPN 类型选 IKEv2
数据加密是「需要加密」
身份验证选择「使用可扩展的身份认证协议EAP」-「Microsoft 安全密码EAP-MSCHAPV2 」- 确定。
单击VPN连接,输入用户名和密码,登录成功即成了