strongswan编译、配置

strongswan编译

下载strongswan源码后,在命令行执行

./configure -h

会打印出来编译时的配置选项,比较重要有:

--prefix=PREFIX,PREFIX为编译完成后的可执行文件、库文件以及配置文件等的安装目录、运行目录。该目录会被硬编码到可执行文件中,ipsec启动时,会在该目录下找配置文件。如果做移植,务必保证该目录和开发板上的运行目录路径相同,避免ipsec找不到配置文件。再直白点儿说,--prefix=/home/strongswan,在宿主机make && make install后,把strongswan这个文件夹整体复制到开发板的/home目录下才行。

--bindir=DIR,可执行文件的路径,make && make install后,可执行文件被放在这里,优先级高于--prefix选项,直白点儿说,同时设置了--prefix和--bindir,除可执行文件外,其他安装文件依然被放置到--prefix指定的位置。

--sbindir、--libexecdir、--sysconfdir都是类似的。如果不做移植,一般会设置为--prefix=/usr/local --sysconfdir=/etc

--host=HOST,如果不做移植,可以不用设置,否则该选项一般可以设置为交叉编译器的名称去掉-gcc

--with-lib-prefix这个选项在做移植的时候有用,告诉编译器去哪里找strongswan依赖的其他库的头文件和库文件,比如openssl

--disable-xxxx,--enable-xxxx,顾名思义,失能或使能strongswan的某些特性,看自己情况使用吧。如果缺少了某些特性,后面strongswan加载配置文件时,可能会不认识某些配置项,那时再回来重新编译一下就可以了,建议:--enable-openssl --enable-dhcp --enable-mediation --enable-swanctl

CC=(交叉)编译器路径

CFLAGS=编译开关等

设置完这些,make  && make install(make出错一般是找不到某些依赖库,安装或移植一下即可)

strongswan配置

包括2部分:通用配置和网络拓扑配置。通用配置主要是配置文件路径、日志信息等等。网络拓扑配置需要参考官方给出来的例子。在StrongSwan的官网上,我们可以在左侧找到TestScenarios,这里有许多场景,我们需要进去之后点开strongSWan test suits,最笨的办法就是一个一个打开,找到我们的网络拓扑。

配置日志文件(在etc/strongswan.conf,以下为官方配置,可以在官网找到)

charon {
    # two defined file loggers
    filelog {
        charon {
            # path to the log file, specify this as section name in versions prior to 5.7.0
            path = /var/log/charon.log
            # add a timestamp prefix
            time_format = %b %e %T
            # prepend connection name, simplifies grepping
            ike_name = yes
            # overwrite existing files
            append = no
            # increase default loglevel for all daemon subsystems
            default = 2
            # flush each line to disk
            flush_line = yes
        }
        stderr {
            # more detailed loglevel for a specific subsystem, overriding the
            # default loglevel.
            ike = 2
            knl = 3
        }
    }
}

日志等级参考:

  • -1: Absolutely silent
  • 0: Very basic auditing logs, (e.g. SA up/SA down)
  • 1: Generic control flow with errors, a good default to see whats going on
  • 2: More detailed debugging control flow
  • 3: Including RAW data dumps in hex
  • 4: Also include sensitive material in dumps, e.g. keys

日志文件用来排查建立隧道时出现的问题,是调试strongswan的有效手段:

查看日志信息:tail -f /var/log/charon.log       

和官方提供的日志信息比较:官方日志为:deamon.log

去高频问题页面搜索相关问题:https://wiki.strongswan.org/projects/strongswan/wiki/FAQ

百度、google等等

配置网络拓扑

大的方向上,有2种配置方案,二选一,官方是这说的:

Used by swanctl and the preferred vici plugin(建议使用)

Used by starter and the deprecated stroke plugin(不建议使用)

建议采用swanctl那种,需要把我们的配置文件放在etc/swanctl/conf.d下,文件名格式为xxxx.conf。比较蛋疼的是,strongswan官网提供的最完整测试case,用的是第二种,即配置ipsec.conf。建议的做法是先使用官网提供的一个转换工具(https://gitlab.com/Thermi/ipsec2swanctl)把ipsec.conf转换成swanctl可以识别的格式,然后参考官方给出的转换表格(https://wiki.strongswan.org/projects/strongswan/wiki/Fromipsecconf),针对性的修改其中的某些项。转换工具是python写的。用法为:

sduo python3 ipsec2swanctl.py --ipsecconf ./ipsec.conf -o swanctl.xxxx.conf -w

当然,官方也给出了一些swanctl可用的配置,可以直接使用(https://wiki.strongswan.org/projects/strongswan/wiki/ConfigurationExamples

启动strongswan

sudo ipsec start

sudo swanctl --load-all        加载所有的配置,即加载etc/swanctl/conf.d下的名为xxxx.conf的配置文件

常用的一些命令:

sudo ipsec stop

sudo swanctl  --list-conns

sudo ipsec statusall

 

 

 

 

要交叉编译strongswan,你需要按照以下步骤进行操作: 1. 确保你的系统已经正确配置了交叉编译环境,并且已经安装了交叉编译工具链。 2. 下载strongswan的源代码,并解压到一个目录中。 3. 进入解压后的strongswan目录,并运行configure命令,指定交叉编译工具链的路径和其他必要的选项。例如,如果你的交叉编译工具链安装在/usr/local/cross-gcc目录下,你可以运行以下命令: ``` ./configure --host=交叉编译工具链的前缀 --with-ipseclibdir=/usr/lib/ipsec ``` 这里的"--host"选项指定了交叉编译工具链的前缀,而"--with-ipseclibdir"选项指定了lib目录下的库文件安装路径。引用 4. 运行make命令来编译strongswan的源代码。这将生成可执行文件和其他所需的文件。 5. 运行make install命令来安装strongswan。这将把生成的文件安装到指定的安装路径中。引用 通过按照以上步骤,你可以成功地交叉编译strongswan并安装到指定的路径中。请注意,这只是一个简单的示例,具体的步骤可能因你的系统和交叉编译环境而有所不同。引用<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [strongswan交叉编译与安装](https://blog.csdn.net/to_be_better_wen/article/details/129340999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值