swan在linux系统下怎么运行,在Ubuntu 18.04/16.04 LTS上安装Libreswan的方法
本文介绍在Ubuntu 18.04/16.04 LTS服务器上安装Libreswan的方法,采用源代码安装方式。
简介
Libreswan是Linux系统的Internet密钥交换(IKE)实现,它支持IKEv1和IKEv2以及与IPsec相关的其他扩展(RFC+IETF drafts),包括IKEv2、X.509数字证书、NAT Traversal等等。
Libreswan是从Openswan 2.6.38分叉的,它默认使用本机Linux IPsec stack(NETKEY/XFRM)。
一、更新系统和安装构建依赖项
1、请先更新系统
确保你使用的是最新的Ubuntu版本:
sudo apt -y update && sudo apt -y upgrade
sudo reboot
注:此命令支持Ubuntu 18.04/16.04 LTS,系统启动后,请继续下面的操作。
2、安装构建依赖项
Libreswan需要从源代码编译一些软件包,通过运行以下命令在Ubuntu系统上安装它们:
sudo apt install libnss3-dev libnspr4-dev pkg-config libpam-dev \
libcap-ng-dev libcap-ng-utils libselinux-dev \
libcurl3-nss-dev flex bison gcc make libldns-dev \
libunbound-dev libnss3-tools libevent-dev xmlto \
libsystemd-dev git devscripts build-essential fakeroot libsystemd-dev
二、下载Libreswan源代码
因为我们将从源代码构建Libreswan以确保我们使用最新版本,从Github克隆项目,地址是https://github.com/libreswan/libreswan/releases:
SWAN_VER=3.29
swan_file="libreswan-$SWAN_VER.tar.gz"
swan_url1="https://github.com/libreswan/libreswan/archive/v$SWAN_VER.tar.gz"
swan_url2="https://download.libreswan.org/$swan_file"
if ! { wget -t 3 -T 30 -nv -O "$swan_file" "$swan_url1" || wget -t 3 -T 30 -nv -O "$swan_file" "$swan_url2"; }; then
exit 1
fi
下载文件后,将其解压缩:
tar xzf "$swan_file" && /bin/rm -f "$swan_file"
三、在Ubuntu上构建和安装Libreswan
我们现在可以在Ubuntu上构建和安装Libreswan,首先更改为libreswan目录:
cd "libreswan-$SWAN_VER" || exit 1
创建构建选项文件:
cat > Makefile.inc.local <
WERROR_CFLAGS =
USE_DNSSEC = false
USE_DH31 = false
USE_NSS_AVA_COPY = true
USE_NSS_IPSEC_PROFILE = false
USE_GLIBC_KERN_FLIP_HEADERS = true
EOF
最后建立Libreswan:
NPROCS=$(grep -c ^processor /proc/cpuinfo)
[ -z "$NPROCS" ] && NPROCS=1
make "-j$((NPROCS+1))" -s base && make -s install-base
应该输出成功的构建信息,如下:
running: systemctl --system daemon-reload
running: systemd-tmpfiles --create /usr/lib/tmpfiles.d/libreswan.conf
DESTDIR=''
****************** WARNING ******************
The ipsec service is currently disabled. To enable this service issue:
systemctl enable ipsec.service
../../OBJ.linux.x86_64/testing/enumcheck/enumcheck -> /usr/local/libexec/ipsec/enumcheck
../../OBJ.linux.x86_64/testing/ipcheck/ipcheck -> /usr/local/libexec/ipsec/ipcheck
../../OBJ.linux.x86_64/testing/fmtcheck/fmtcheck -> /usr/local/libexec/ipsec/fmtcheck
../../OBJ.linux.x86_64/testing/timecheck/timecheck -> /usr/local/libexec/ipsec/timecheck
如果安装成功,应该能够检查版本,运行:
/usr/local/sbin/ipsec --version
四、启动并启用Libreswan ipsec服务
ipsec服务目前已禁用,要启用此服务:
sudo systemctl enable --now ipsec.service
验证服务状态:
$ systemctl status ipsec.service
至此,Libreswan ipsec服务已开启成功。
相关主题
swan在linux系统下怎么运行,在Ubuntu 18.04/16.04 LTS上安装Libreswan的方法相关推荐
- 如何查看Linux系统下程序运行时使用的库?
Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...
- linux系统上运行sh,Linux系统下如何运行.sh文件的实现
Linux系统下如何运行.sh文件的实现 在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): ...
- linux下双击sh文件夹,Linux系统下如何运行.sh文件的实现
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...
- 在linux下怎么建立sh文件,Linux系统下如何运行.sh文件的实现
在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...
- linux系统下编译运行C++程序
前提 首先linux系统下要有C++编译环境.可以使用 which gcc which g++ 查看linux系统下是否安装GNU编译器. 编写代码 使用vim命令打开编辑器编写代码 先写一个最简单的 ...
- linux系统下qt中文输入法,Ubuntu系统下Qt使用中文输入法(示例代码)
近几个月一直在搞QML框架下的UI控件,没有更新博客.今天记录下Ubuntu系统下Qt开发工具使用中文输入法的流程. (题外话,Linux系统下的开发,离线是没法搞的(夸张手法),不联网简直就是事倍功 ...
- 在Linux系统下如何运行notes客户端
由于IBM公司还没有Linux版本的notes客户端,所以在Linux下运行notes客户端比较困难.现在通过CrossOver Office软件可以实现这个任务. 大多使用Linux的人都对WINE ...
- Linux系统下Hadoop运行环境搭建
1.安装ssh免密登录 命令:ssh-keygen overwrite(覆盖写入)输入y 一路回车 将生成的密钥发送到本机地址 ssh-copy-id localhost (若报错命令无法找到则需要安 ...
- linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)
平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在 ...
最新文章
- Oracle编程入门经典 第2章 SQLPlus和基本查询
- python 可视化饼图_Python可视化学习(饼状图,坐标系...)
- 备份MySQL数据库的命令
- 〈转〉用VS2005.NET进行三层结构应用程序的开发
- Android笔记:Activity
- vivo手机怎么投屏到电脑_投屏软件电脑加手机投屏软件投屏
- 边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?
- linux将字符串转小写_小猿圈总结Linux常见命令(一)
- python模拟抛硬币_python实现简单随机模拟——抛呀抛硬币
- java swing 最小化到托盘_用Java实现程序最小化到托盘区
- Objective C类方法load和initialize的区别
- Spss做相关性分析
- linux视频播放器安装程序,新手求助自带视频播放器安装问题
- Linux怎么去掉secondary地址,有关IP aliasing, Primary address和Secondary address
- Ubuntu、ROS、PX4常见问题及其解决办法
- 台湾大学开放式课程C语言,国立台湾大学-台大开放式课程.doc
- 苹果手机免越狱群控电脑端控制手机
- 什么是UserAgent以及使用浏览器查看UserAgent的方法
- 电脑c盘哪些文件可以删除_c盘满了怎么清理垃圾而不误删(答案在这里)
- 英特尔的指令集体系结构_新指令集将上线:Intel 新版指令集手册确认 Alder Lake 架构的存在...