Linux Ipsec
准备环境
1 主机ip:192.168.0.107
2 VPN服务器:
ens32:192.168.0.102
ens33:127.16.1.10
环境测试
modprobe ppp-compress-18 && echo yes
cat /dev/net/tun
软件安装
[root@localhost ~]# yum install -y xl2tpd libreswan lsof
注意:若无法安装xl2tp
yum install -y epel-release
xl2tpd.conf
[root@localhost ~]# vim /etc/xl2tpd/xl2tpd.conf
[global]
[lns default]
ip range = 172.16.1.100-172.16.1.199
local ip = 172.16.1.10
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yess
options.xl2tpd
[root@localhost ~]# vim /etc/ppp/options.xl2tpd
# .....
ipcp-accept-local
ipcp-accept-remote
ms-dns 114.114.114.114
ms-dns 223.5.5.5
# ms-wins 192.168.1.2
# ms-wins 192.168.1.4
name xl2tpd
#noccp
auth
#crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
#lock
proxyarp
connect-delay 5000
refuse-pap
refuse-mschap
require-mschap-v2
persist
logfile /var/log/xl2tpd.log
ipsec.conf
[root@localhost ~]# vim /etc/ipsec.conf # 只修改以下项,其他默认
config setup
protostack=netkey
dumpdir=/var/run/pluto/
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
include /etc/ipsec.d/*.conf
l2tp-ipsec.conf
[root@localhost ~]# vim /etc/ipsec.d/l2tp-ipsec.conf # 新建如下配置文文件,直接复制的话,前面是很多空格,在启动的时候会报错,需要将空格删除,换成tab的距离,距离相同。不能用空格!
conn L2TP-PSK-NAT
(tab距离)rightsubnet=0.0.0.0/0
dpddelay=10
dpdtimeout=20
dpdaction=clear
forceencaps=yes
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=172.16.1.10 # 这个是网卡的内网IP,后面通过NAT转发
leftprotoport=17/1701 # 端口,默认1701,不用改
right=%any
rightprotoport=17/%any
chap-secrets
也就是我们一会在windows上登陆时用到的帐号和密码
[root@localhost ~]# vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
root * 456 *
用户名 服务类型(*代表所有) 密码 连入的ip(*代表任意地址)
default-secrets
[root@localhost ~]# vim /etc/ipsec.d/default.secrets # 新建如下文件
------------------------------------------------------------------------------------
: PSK "MyPSK" # 就一行,填上自定义的PSK,为欲共享密钥
sysctl.conf
[root@localhost ~]# vim /etc/sysctl.conf # 添加如下配置到文件中,参数后面不能有空格
net.ipv4.ip_forward = 1
net.ipv4.conf.*.accept_redirects = 0
net.ipv4.conf.*.rp_filter = 0
net.ipv4.conf.*.send_redirects = 0
注:
*为/proc/sys/net/ipv4/conf/里面所有项目
[root@localhost ~]# sysctl -p # 加载内核参数使生效
检查配置
ipsec verify # 检查命令
注:
# 可能会出现类似如下情况:
Checking rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/ens160/rp_filter [ENABLED]
/proc/sys/net/ipv4/conf/ens192/rp_filter [ENABLED]
# 这是内核参数没有生效,直接依次手动打开这些文件,将 1 改为 0
# 然后重新执行检查,输出如下内容则OK:
防火墙
firewall-cmd --permanent --add-service=ipsec # 放行ipsec服务,安装时会自定生成此服务
firewall-cmd --permanent --add-port=1701/udp # xl2tp 的端口,默认1701
firewall-cmd --permanent --add-port=4500/udp
firewall-cmd --permanent --add-masquerade # 启用NAT转发功能。必须启用此功能
firewall-cmd --reload # 重载配置
开启服务
systemctl enable ipsec # 设为开机启动
systemctl start ipsec # 启动服务
主机连接
设置-》网络与Internet-》VPN-》添加VPN连接
VPN提供商为Windows内置-》连接名称随意-》服务器地址为192.168.0.107-》VPN类型选使用欲共享密钥的L2TP/IPsec-》欲共享密钥 MyPSK
打开网络适配器-》修改VPN连接的属性-》安全-》允许使用这些协议-》勾上CHAP
输入用户与密码
注:若无法连接
windows+r 运行
输入 services.msc-》查找ipsec policy agent-》确保它在运行
输入 regedit-》 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters-》添加ProhibitIpSec,类型为 DWORD(32位), vlan为1,修改AllowL2TPWeakCrypto, vlan为 1
保存退出,重启计算机
Linux Ipsec的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- configure.ac
# # Copyright (C) - Tobias Brunner # Copyright (C) - Andreas Steffen # Copyright (C) - Martin Willi ...
- 如何覆盖GCE的DHCP MTU选项
如何覆盖GCE的DHCP MTU选项 在GCE上托管的Linux IPSec隧道不能打开谷歌,这与MTU有关.谷歌管理员认为"改变这个值是一件困难的事情"https://cl ...
- openswan框架和编译时说明
刚开始学习openswan项目代码时,自己尝试了在虚拟机上编译.安装.运行openswan代码,由于当时刚开始学习openswan代码,因此对于其构成并不清楚,在编译.运行过程中有了问题,基本是通过百 ...
- StrongSwan 5.1.1 发布,Linux 的 IPsec 项目
StrongSwan是一个完整的2.4和2.6的Linux内核下的IPsec和IKEv1 的实现.它也完全支持新的IKEv2协议的Linux 2.6内核.结合IKEv1和IKEv2模式与大多数其他基于 ...
- CentOS Linux VPS安装IPSec+L2TP VPN
CentOS Linux VPS安装IPSec+L2TP VPN 时间 -- :: 天使羊波波闪耀光芒 相似文章 () 原文 http://www.live-in.org/archives/818.h ...
- setting up a IPSEC/L2TP vpn on CentOS 6 or Red Hat Enterprise Linux 6 or Scientific Linux
This is a guide on setting up a IPSEC/L2TP vpn on CentOS 6 or Red Hat Enterprise Linux 6 or Scientif ...
- CentOS Linux 安装IPSec+L2TP
第二层隧道协议L2TP(Layer 2 Tunneling Protocol)是一种工业标准的Internet隧道协议,它使用UDP的1701端口进行通信.L2TP本身并没有任何加密,但是我们可以使用 ...
- Linux服务器安全配置
众所周知,网络安全是一个非常重要的课题,而服务器是网络安全中最关键的环节.Linux被认为是一个比较安全的Internet服务器,作为一种开放源代码操作系统,一旦Linux系统中发现有安全漏洞,Int ...
随机推荐
- Xamarin.Forms学习系列之Android集成极光推送
一般App都会有消息推送的功能,如果是原生安卓或者IOS集成消息推送很容易,各大推送平台都有相关的Sample,但是关于Xamarin.Forms的消息推送集成的资料非常少,下面就说下Xamarin. ...
- CCNA 之 十一 NAT 子网地址转换
NAT 网络地址转换 全称:Network Address Translation 为什么需要NAT? 因为公网IP(IPv4)地址紧缺,内容地址通过NAT转换成一个公有地址去访问公网资源: 如下图展 ...
- PowerMock学习(十一)之Mock private methods的使用
Mock private methods 就是mock私有方法啦,学到这不难发现,我们其实大部分都是通过反射去完成单元测试的,但是在实际中,某个类中的私有方法,个人不建议使用反射来测试,因为有时候会 ...
- 4.Netty执行IO事件和非IO任务
回顾NioEventLoop的run方法流程 IO事件与非IO任务 处理IO事件 处理非IO任务 聚合定时任务到普通任务队列 从普通队列中获取任务 计算任务执行的超时时间 安全执行 计算是否超时 总结 ...
- Echarts自定义折线图例,增加选中功能
用Echarts图表开发,原本的Echarts图例不一定能满足我们的视觉要求. 下面是Echarts 折线图自定义图例,图例checked选中,相应的折线线条会随之checked,其余未选中的图例对应 ...
- PHP fsockopen受服务器KeepAlive影响的解决
在开发过程中常常遇到这样的需求,模拟浏览器访问某接口,并获取返回数据.我们比较常使用的方法是fsockopen与接口建立连接,然后发出指令,然后通过fgets接受返回值. 但是我们发现,通过PHP模拟 ...
- [开源] 基于Layui组件封装的后台模版,HG-Layui-UI通用后台管理框架V1.0版
HG框架简介 HG-Layui-UI框架,是基于layui最新版UI搭建的一套通用后台管理框架,借鉴了市面上各大主流框架风格,采用iframe标签页实现,保留了传统开发模式的简单实用性. 为快速开发减 ...
- 转:Maven的默认中央仓库以及修改默认仓库&配置第三方jar包从私服下载
当构建一个Maven项目时,首先检查pom.xml文件以确定依赖包的下载位置,执行顺序如下: 1.从本地资源库中查找并获得依赖包,如果没有,执行第2步. 2.从Maven默认中央仓库中查找并获得依赖包 ...
- 19.JAVA-从文件中解析json、并写入Json文件(详解)
1.json介绍 json与xml相比, 对数据的描述性比XML较差,但是数据体积小,传递速度更快. json数据的书写格式是"名称:值对",比如: "Name" ...
- SpringBoot项目创建与第一个SSM项目示例
本节介绍SpringBoot创建第一个示例SSM项目的完整过程,使用工具STS,与IDEA操作基本类似. 示例代码在:https://github.com/laolunsi/spring-boot-e ...