天天看點

oai epc+smallcell搭建測試網絡

很多童鞋在微信或者QQ群中經常詢問我的測試環境搭建過程,由于本人工作繁忙無法一一解答,在此将搭建過程釋出到部落格,希望對大家搭建測試環境有借鑒意義,如有錯誤,請私信指正,謝謝各位!

oai epc網絡搭建

1、準備工具

  1. 雙網卡工控機一台(運作ubuntu系統和EPC)
  2. 筆記本電腦一台(用于配置實驗小基站參數)
  3. smallcell實驗小基站一台
  4. SIM白卡一張
  5. 燒卡器一個
  6. 測試手機一台(本次測試使用榮耀8X手機測試)

有圖有真相:

oai epc+smallcell搭建測試網絡

2、基站配置

基站采用朋友公司的成品實驗小基站,最大發射功率23dbm,不涉及程式編譯,直接拿來配參數,具體配置過程不做介紹,關鍵參數配置如下:

基站S1口IP:192.168.170.100

核心網IP:192.168.170.200(MME綁定的網卡IP)

基站TAC:1 (此處必須與核心網一緻)

基站PLMN:20893(此處必須與核心網一緻)

基站頻點:38950

3、安裝OAI EPC

3.1 運作環境

使用的作業系統和核心版本見下截圖:

oai epc+smallcell搭建測試網絡

網卡IP配置見下截圖,其中enp2s0是EPC綁定的網卡,enp3s0是連接配接網際網路的網卡,lo是本地環回測試網卡,在後面配EPC網元參數要使用對應的網卡名和IP位址:

oai epc+smallcell搭建測試網絡

3.1安裝git

sudo apt-get update

sudo apt-get install subversion git

3.2 擷取oai epc源碼

git clone https://gitlab.eurecom.fr/oai/openair-cn.git

查詢主機名字,我的主機名是epc,然後執行sudo gedit /etc/hosts 打開并編輯hosts檔案,把第二行對應位置替換為epc:

oai epc+smallcell搭建測試網絡

3.3 安裝輔助軟體

3.3.1 安裝apache

sudo apt-get install apache2

浏覽器輸入 localhost,出現apache首頁說明安裝OK:

oai epc+smallcell搭建測試網絡

3.3.2 安裝php

apt-get install php7.0

apt-get install libapache2-mod-php7.0

3.3.3 安裝mysql

sudo apt-get install mysql-server mysql-client

注意,安裝mysql時要設定賬号使用者名和密碼,記錄下賬戶名和密碼,後面配hss參數需要使用

3.3.4 安裝phpmyadmin

sudo apt-get install phpmyadmin

然後在浏覽器輸入 localhost/phpmyadmin,出現資料庫登陸界面:

oai epc+smallcell搭建測試網絡

3.4 編譯MME、HSS、SPGW網元

cd openair-cn

git checkout develop //本次搭建EPC使用develop分支,網友們也可以嘗試使用master分支搭建

git pull

cd scripts

./build_mme -i

./build_hss -i

./build_spgw -i

注意:編譯過程會下載下傳相關的軟體,是以可能比較慢,需要耐心等待

3.4 配置網元參數

在配置網元參數之前先執行如下指令将配置檔案copy到對應位置:

sudo mkdir -p /usr/local/etc/oai/freeDiameter

sudo cp ~/openair-cn/etc/mme.conf /usr/local/etc/oai

sudo cp ~/openair-cn/etc/hss.conf /usr/local/etc/oai

sudo cp ~/openair-cn/etc/spgw.conf /usr/local/etc/oai

sudo cp ~/openair-cn/etc/acl.conf /usr/local/etc/oai/freeDiameter

sudo cp ~/openair-cn/etc/mme_fd.conf /usr/local/etc/oai/freeDiameter

sudo cp ~/openair-cn/etc/hss_fd.conf /usr/local/etc/oai/freeDiameter

3.4.1 配置MME

執行sudo gedit /usr/local/etc/oai/mme.conf打開mme.conf檔案修改配置參數,MME網元負責S1口控制面協定處理,涉及關鍵協定參數有PLMN(MCC+MNC)、TAI見下截圖,配置和基站側配置保持一緻,否則基站給MME發送s1_setup_req消息請求建立S1口連接配接會失敗,無法建立射頻小區

oai epc+smallcell搭建測試網絡

IP配置如下,注意用MME綁定的網卡名enp2s0和IP位址(192.168.170.200)替換配置檔案中的參數

oai epc+smallcell搭建測試網絡

3.4.2 配置SPGW

執行sudo gedit /usr/local/etc/oai/spgw.conf打配置檔案

先配置SGW參數,将網卡名字和IP改為和配置一緻:

oai epc+smallcell搭建測試網絡

PGW配置

網卡名仍然是enp2s0,由此可見MME、SGW、PGW使用同一個網卡:

oai epc+smallcell搭建測試網絡

3.4.3 配置HSS

執行sudo gedit /usr/local/etc/oai/hss.conf 打開hss.conf配置檔案

填寫安裝mysql時設定的資料庫賬号,username = root,password= linux

資料庫名字我設定為epc_db

oai epc+smallcell搭建測試網絡

3.4.4 修改freeDiameter使用的參數

執行sudo gedit /usr/local/etc/oai/freeDiameter/hss_fd.conf 確定 Identity = “hss.openair4G.eur” Realm = “openair4G.eur”

sudo gedit /usr/local/etc/oai/freeDiameter/mme_fd.conf,確定如下資訊正确:

Identity = “epc.openair4G.eur”

Realm = “openair4G.eur”;

ConnectPeer= “hss.openair4G.eur” { ConnectTo =“127.0.0.1”; No_SCTP ; No_IPv6; Prefer_TCP; No_TLS; port = 3868; realm = “openair4G.eur”;}

3.5 編譯&運作

編譯前需要安裝證書:

cd /openair-cn/scripts //進入scripts目錄

./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.openair4G.eur

./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ epc.openair4G.eur

在/openair-cn/scripts目錄下:

./build_mme

./run_mme

./build_spgw

./run_sgpw

./build_hss

./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/epc_db.sql

注意,此語句隻在第一次調用hss時執行,目前是建立HSS使用的epc_db資料庫,後續執行hss隻需要輸入./run_hss即可

MME、HSS、SPGW運作之後,把基站的WAN口和EPC綁定的網口用網線連接配接,對基站上電,等待基站發起S1_SETUP_REQ消息與MME建立連接配接,連接配接建立成功,見下截圖:

oai epc+smallcell搭建測試網絡

3.6 配HSS資料庫

登陸資料庫,賬号和使用者名與hss配置檔案中的一緻:

oai epc+smallcell搭建測試網絡

3.6.1 設定APN

測試環境apn配置為cmnet

oai epc+smallcell搭建測試網絡

3.6.2 配置MME ID

oai epc+smallcell搭建測試網絡

3.6.3 配置PDN

本次測試user_imsi使用了20893000000001:

oai epc+smallcell搭建測試網絡

3.6.4 配user

本次測試user_imsi使用了20893000000001,記錄下表中IMSI對應的K、opc參數,後續燒卡使用:

oai epc+smallcell搭建測試網絡

HSS資料庫配置完畢!!!

3.7 燒卡

燒卡步驟請參考jackpaul的部落格:

https://blog.csdn.net/u013429928/article/details/75319585

**注意:**測試使用enb、mme配置的PLMN是20893,是以寫卡時需要将涉及到PLMN的位置改為20893

3.8 上網測試

3.8.1 設定手機APN名稱:

位置:移動網絡->移動資料->接入點名稱(APN)->添加APN

**注意:**手機中的apn設定必須和hss中的一緻,否則會引起EPC程式跑飛,hss中設定為cmnet,是以手機也設定為cmnet

3.8.2 設定網卡資料轉發

ubuntu運作在雙網卡環境上,EPC綁定的網卡和連接配接網際網路的網卡使用了不同的網卡,是以需要把PGW進出的資料和連接配接網際網路的網卡設定轉發,否則無法上網,資料轉發指令格式如下:

sudo iptables -A FORWARD -i gtp0 -o 連接配接網際網路的網卡名 -j ACCEPT

sudo iptables -t nat -A POSTROUTING -o 連接配接網際網路的網卡名 -j MASQUERADE

本次測試環境連接配接網際網路的網卡名為enp3s0,iptables指令的使用,有意願的童鞋可以深入了解下。

然後把手機飛行、去飛行,或者重新啟動,即可連接配接到測試網絡上網。

網絡測速:

oai epc+smallcell搭建測試網絡

繼續閱讀