本文介绍在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的方法相关推荐

  1. 如何查看Linux系统下程序运行时使用的库?

    Linux系统下程序运行会实时的用到相关动态库,某些场景下,比如需要裁剪不必要的动态库时,就需要查看哪些动态库被用到了. 以运行VLC为例. VLC开始运行后,首先查看vlc的PID,比如这次查到的V ...

  2. linux系统上运行sh,Linux系统下如何运行.sh文件的实现

    Linux系统下如何运行.sh文件的实现 在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): ...

  3. linux下双击sh文件夹,Linux系统下如何运行.sh文件的实现

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...

  4. 在linux下怎么建立sh文件,Linux系统下如何运行.sh文件的实现

    在Linux系统下运行.sh文件有两种方法,比如我在root目录下有个datelog.sh文件 第一种(这种办法需要用chmod使得文件具备执行条件(x): chmod u+x datelog.sh) ...

  5. linux系统下编译运行C++程序

    前提 首先linux系统下要有C++编译环境.可以使用 which gcc which g++ 查看linux系统下是否安装GNU编译器. 编写代码 使用vim命令打开编辑器编写代码 先写一个最简单的 ...

  6. linux系统下qt中文输入法,Ubuntu系统下Qt使用中文输入法(示例代码)

    近几个月一直在搞QML框架下的UI控件,没有更新博客.今天记录下Ubuntu系统下Qt开发工具使用中文输入法的流程. (题外话,Linux系统下的开发,离线是没法搞的(夸张手法),不联网简直就是事倍功 ...

  7. 在Linux系统下如何运行notes客户端

    由于IBM公司还没有Linux版本的notes客户端,所以在Linux下运行notes客户端比较困难.现在通过CrossOver Office软件可以实现这个任务. 大多使用Linux的人都对WINE ...

  8. Linux系统下Hadoop运行环境搭建

    1.安装ssh免密登录 命令:ssh-keygen overwrite(覆盖写入)输入y 一路回车 将生成的密钥发送到本机地址 ssh-copy-id localhost (若报错命令无法找到则需要安 ...

  9. linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在 ...

最新文章

  1. Oracle编程入门经典 第2章 SQLPlus和基本查询
  2. python 可视化饼图_Python可视化学习(饼状图,坐标系...)
  3. 备份MySQL数据库的命令
  4. 〈转〉用VS2005.NET进行三层结构应用程序的开发
  5. Android笔记:Activity
  6. vivo手机怎么投屏到电脑_投屏软件电脑加手机投屏软件投屏
  7. 边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?
  8. linux将字符串转小写_小猿圈总结Linux常见命令(一)
  9. python模拟抛硬币_python实现简单随机模拟——抛呀抛硬币
  10. java swing 最小化到托盘_用Java实现程序最小化到托盘区
  11. Objective C类方法load和initialize的区别
  12. Spss做相关性分析
  13. linux视频播放器安装程序,新手求助自带视频播放器安装问题
  14. Linux怎么去掉secondary地址,有关IP aliasing, Primary address和Secondary address
  15. Ubuntu、ROS、PX4常见问题及其解决办法
  16. 台湾大学开放式课程C语言,国立台湾大学-台大开放式课程.doc
  17. 苹果手机免越狱群控电脑端控制手机
  18. 什么是UserAgent以及使用浏览器查看UserAgent的方法
  19. 电脑c盘哪些文件可以删除_c盘满了怎么清理垃圾而不误删(答案在这里)
  20. 英特尔的指令集体系结构_新指令集将上线:Intel 新版指令集手册确认 Alder Lake 架构的存在...

热门文章

  1. H.265和H.266之间的差异
  2. CSP-J 2020 第一轮 游记
  3. linux 鸟哥私房菜 从0到1 笔记(五)
  4. 【夜莺监控方案】02-n9e-v5-agent部署
  5. isolcpus功能与使用
  6. hmmlearn安装
  7. 第十四周学习周报(20180604-20180610)
  8. uni-app text、文本、selectable、自定义长按选择菜单、修改系统菜单键(双端)
  9. windows系统下安装JDK8
  10. (收藏)颜色图形,色值,中英文对照,RGB格式网址