当前位置: 首页 > 工具软件 > freeDiameter > 使用案例 >

freeDiameter 安装配置过程

彭开畅
2023-12-01

freeDiameter 安装配置过程

 

安装环境: Ubuntu 10.04

 

安装步骤:

 

1、安装依赖的软件包

sudo apt-get -y install mercurial cmake make gcc bison flex libsctp-dev libgnutls-dev libgcrypt-dev libpq-dev libmysqlclient-dev ssl-cert debhelper fakeroot

 

2、下载最新版freeDiameter

cd

hg clone http://www.freediameter.net/hg/freeDiameter

cd freeDiameter

注:这里安装在了主目录之下,即/home/nadia/

 

3、新建一个编译文件夹

cd ..

mkdir fDbuild

cd fDbuild

 

4、配置产生cmakefiles

cmake ../freeDiameter

make edit_cache

 

5、编译安装

make

sudu make install

 

测试步骤:

 

建立有一个client和一个server的简单测试系统。需要test_app扩展。

 

1、重新编译freeDiameter

cd ~/fDbuild

cmake ../freeDiameter -DBUILD_TEST_APP:BOOL=ON

make edit_cache

make

 

2、新建两个文件夹,分别命名为fDClientfDServer

cp freeDiameterd-1.0.2 ~/fDClient/freeDiameterClient

cp ~/freeDiameter/freeDiameter.conf ~/fDClient/client.conf

 

cd freeDiameterd-1.0.2 ~/fDServer/freeDiameterServer

cp ~/freeDiameter/freeDiameter.conf ~/fDServer/server.conf

 

并将extensions中的test_app.fdxtest_app.conf复制到两个文件夹中。

 

3、配置文件,包括client.conf,server.conf,test_app.conffDClientfDServer文件夹中分别有一个)

 

client.conf:(在相应的位置添加)

 

##  Peer identity and realm

Identity = "client.simple.test.nadia";

Realm = "simple.test.nadia";

 

##  Transport protocol configuration

Port = 3868;

SecPort = 3869;

No_SCTP;

Prefer_TCP;

 

##  Endpoints configuration

No_IPv6;

ListenOn = "192.168.33.156";

 

##  TLS Configuration

TLS_Cred = "./client_cert/cert.pem", "./client_cert/privkey.pem";

TLS_CA = "./client_cert/ca.pem";

注:此处文件为CA密钥,freeDiameter提供测试用可生成。具体步骤见下文。

 

##  Extensions configuration

LoadExtension = "/home/nadia/fDClient/test_app.fdx":"/home/nadia/fDClient/test_app.conf";

 

##  Peers configuration

ConnectPeer = "server.simple.test.nadia" { NO_SCTP; Port = 9683; ConnectTo = "192.168.33.157"; } ;

注:Portserver端监听TLS的端口号。

 

server.conf:(在相应的位置添加)

 

##  Peer identity and realm

Identity = "server.simple.test.nadia";

Realm = "simple.test.nadia";

 

##  Transport protocol configuration

Port = 8683;

SecPort = 9683;

No_SCTP;

Prefer_TCP;

注:因为本人是在同一台机子上,所以为了和client端的端口区别开,所以没有使用默认的端口

在同一台机子上,一个硬件上分配两个IP

ipconfig echo0:1 192.168.33.157 netmask 255.255.255.0

(本机原IP192.168.33.156)

 

##  Endpoints configuration

No_IPv6;

ListenOn = "192.168.33.157";

 

##  TLS Configuration

TLS_Cred = "./server_cert/cert.pem", "./server_cert/privkey.pem";

TLS_CA = "./server_cert/ca.pem";

注:此处文件为CA密钥,freeDiameter提供可生成测试用的密钥。具体步骤见下文。

 

##  Extensions configuration

LoadExtension = "/home/nadia/fDServer/test_app.fdx":"/home/nadia/fDServer/test_app.conf";

 

##  Peers configuration

ConnectPeer = "client.simple.test.nadia" { NO_SCTP; Port = 3869; ConnectTo = "192.168.33.156"; } ;

注:Portclient端监听TLS的端口号。

 

test_app.conf(client)

 

# Client-specific configuration

dest-realm = "simple.test.nadia";

dest-host = "server.simple.test.nadia";

 

test_app.conf(server)

 

# Client-specific configuration

dest-realm = "simple.test.nadia";

dest-host = "client.simple.test.nadia";

 

4TLS设置

freeDiameter中提供了可生成一些密钥和数字证书的脚本。在/contril/PKI目录下

进入ca_script2

 

生成密钥和数字证书

cd /home/nadia/freeDiameter/contrib/PKI/ca_script2

make init topca=ca.test.nadia

make newcert ca=ca.test.nadia name=client.simple.test.nadia

make newcert ca=ca.test.nadia name=server.simple.test.nadia

 

注:name要和指定的identity一样,命令执行,会在ca_seript2下的目录ca_data/ca.test.nadia/client下,产生两个与name名字相同的文件夹,里面包括了freediameter配置文件中需要的密钥和数字证书。

 

ca_data文件夹复制到fDClientfDServer中,并在freediameter.conf中配置上相应的TLS_Cred TLS_CA

 

本文中,将其中的client.simple.test.nadiaserver.simple.test.nadia分别复制,并重新命名为client_certserver_cert

所以在client.conf,和server.conf中的TLS配置,指定为当前文件夹中的client_certserver_cert.

 

5、测试

 

分别打开clientserver端的freeDiameter

./freeDiameterClient -c client.conf

./freeDiameterServer -c server.conf

注:由于conf文件没有在默认的/usr/local下,所以用过-c命令指定

 

打开一个新的窗口,触发test_app工作

ps -ef | grep freeDiameter

 

获得相应的PID之后

kill -USR1 4157

注:4157freeDiameterClientPID号,每次启动都会不一样,要重新查看。

 

freeDiameterd的监控终端上,就可以看到消息发送和接收的信息。

 类似资料: