OAI搭建之EPC

      最近使用USRP B210和OAI搭建成功,其中EPC和ENB分別位於不同主機。UE使用的是商用手機,將相關信息寫入白卡後,插入手機,手機可以上網。其主要步驟分:搭建EPC、搭建ENB、配置白卡等。今天先介紹EPC搭建過程,ENB和白卡相關過程,後續補上。

      貼圖防水

      

      

 關於OAI這裏就不在介紹,既然你已經訪問此頁面,想必也有所瞭解。本教程基本上根據OAI官網:https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/HowToConnectCOTSUEwithOAIeNBNew 來操作的,由於源碼版本更新換代比較快,難以保證對任何版本有效,還請大家多多參照官方文檔。


        1  系統準備

EPC對主機性能要求不高,因此不必進行電源管理之類的設置。另外,EPC要求內核版本大於4.7,我這裏直接裝的是Ubuntu16.04.2,不用更換內核,直接開始搭建EPC。多說一句,防止有同學對Linux不熟。裝好系統後,執行sudopasswd。輸入當前用戶密碼後,設置好root密碼。

另外,爲了方便配置,我裝系統時主機名就叫nano(跟官方教程一致)。如果主機名不是nano也沒事,在後續配置過程中,將所有出現nano的地方改爲你的主機名,同時在數據庫mmeidentity表裏,添加一條記錄,該記錄與主機名對應。


        2  獲取源碼

       2.1 安裝git

sudo apt-get update
sudo apt-get install subversion git

2.2 獲取EPC源碼

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

         這裏再囉嗦一句,cd ~ 的意思是進入用戶主目錄。一般你非root登錄(假設用戶名爲:abc)成功,工作目錄就在 /home/abc,這裏我普通用戶登錄,直接克隆,這樣源碼包就位於/home/abc中,想在別的文件夾進去該源碼包,直接 cd ~/openair-cn即可,其效果與 cd /home/abc/openair-cn相同

   3  編譯和配置


      3.1配置FQDN

      (1)執行 su root 輸入root密碼,切換爲root用戶。

      (2)執行 hostname 查詢主機名。(我這裏主機叫nano)

      (3)執行 vi /etc/hosts 編輯hosts文件(如果有同學不會使用VI編輯器,可執行 chmod u+w /etc/hosts 獲取當前用戶對該文件寫入權限,然後進去圖形界面,                  使用文本編輯器編輯)在hosts 開頭添加如下信息:

127.0.0.1    localhost
127.0.1.1    nano.openair4G.eur   nano #假設你的hostname叫abc,這裏就是127.0.1.1  abc.openair4G.eur  abc
127.0.1.1    hss.openair4G.eur    hss
      (4)編輯完hosts文件後,執行 hostname -f 會輸出  nano.openair4G.eur(和3.1-(3)一個道理)

        


      3.2 安裝額外軟件包 

      (1)由於自動編譯命令,執行過程中安裝Mysql會失敗,所以需要提前安裝mysql .執行 sudo apt-get install mysql-server   設置root密碼爲 Linux(出現的界面 我全選 yes)

    

(1)   安裝apache2:

sudo apt-get install apache2

測試apache2:

瀏覽器訪問 localhost或者127.0.0.1 會出現apache2主頁

(2)  安裝php

apt-get install php7.0

apt-get install libapache2-mod-php7.0

重啓apache2: service apache2 restart 或者 sudo/etc/init.d/apache2 restart

測試php

在/var/www/html裏面新建info.php

vim /var/www/html/info.php或者 gedit /var/www/html/info.php

在該文件裏添加php語句:<?php  echo ‘hello world’;?> 保存退出

然後瀏覽器訪問localhost/info.php或者127.0.0.1/info.php 瀏覽器會顯示hello world頁面

(3)   安裝mysql

sudo apt-get install mysql-server mysql-client

測試mysql

輸入 mysql –uroot –p 輸入安裝mysql時設置的root密碼

會出現mysql操作界面

(4)   安裝 phpmyadmin

sudo apt-get install phpmyadmin

然後

sudo ln -s /usr/share/phpmyadmin  /var/www/html

測試phpmyadmin

然後瀏覽器訪問localhost/phpmyadmin或者127.0.0.1/phpmyadmin 瀏覽器會顯示數據庫登錄頁面

如果報錯:mbstringextension is missing.Please check your PHP configuration.

解決辦法:

將/etc/php/7.0/mods-available/json.ini文件裏第二行的分號去掉

然後重啓apache2(service apache2 restart)


  (2)進去EPC源碼文件夾openair-cn ,執行自動安裝命令,如果沒紅色報錯,表示安裝成功。(我沒翻牆,只更換了個hosts文件)

cd openair-cn
git checkout develop 
git pull
cd scripts
./build_mme -i 
./build_hss -i 
./build_spgw -i


      3.3 配置EPC

      (1)執行如下命令,將配置文件放到該放的位置。不懂得話,請看2.2後面囉嗦的那句。這裏etc由於源碼版本不同大小寫不同,具體情況看openair-cn文件夾裏面是大寫還是小寫。由於我用的是develop版本,所以是小寫。

su nano
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
       

      (2)切換至root,執行ifconfig查詢網卡名和IP地址。(我這裏EPC主機網卡名爲eno1 ipv4地址爲10.105.41.38)



(3)執行 vi /usr/local/etc/oai/mme.conf 配置MME。MCC MNC之類的基本不用改變,後面配置ENB時,只有和這邊一致就行。具體見下圖:





      (4)vi /usr/local/etc/oai/spgw.conf 配置SPGW DNS可以自定義,如果不知道有效的DNS地址,就如圖即可。






    

      (5)vi  /usr/local/etc/oai/hss.conf 配置HSS  設置用戶名 密碼 op_key先不管。



      (6)vi /usr/local/etc/oai/freeDiameter/hss_fd.conf  確保  Identity = "hss.openair4G.eur" Realm = "openair4G.eur"


      (7)vi  /usr/local/etc/oai/freeDiameter/mme_fd.conf 確保裏面信息如下:

Identity = "nano.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";};
       還是提醒一下,這裏的nano因主機名而定,若你的主機名爲abc 那Identity就是 abc.openair4G.eur


        3.4 編譯和運行

安裝證書:

進入/openair-cn/scripts
./check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ hss.openair4G.eur
./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur

      (1)編譯&運行HSS(sudo 或者root)

進入/openair-cn/scripts


./build_hss
./run_hss -i ~/openair-cn/SRC/OAI_HSS/db/oai_db.sql (只在初次運行HSS,執行一次,導入HSS數據庫,以後運行hss直接./run_hss)

      (2)編譯&運行MME

進入/openair-cn/scripts


./build_mme
./run_mme
      (3)編譯&運行SPGW

進入/openair-cn/scripts


./build_spgw
./run_spgw
      (4)HSS MME SPGW運行圖,分別如下所示:

HSS


MME



SPGW



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章