## 使用 ssh 連線虛擬機 ### 如何查看你的主機 ip 在你的虛擬機輸入以下指令 ```bash= ifconfig ``` ![](https://hackmd.io/_uploads/BkxfuiRWp.png) ### ssh 連線 開啟你的 Powershell 輸入以下指令 ```bash= ssh [你的帳號]@[你的主機ip] ``` 例如 ```bash= ssh alen911018@192.168.56.102 ``` 輸入密碼即連線成功 ![](https://hackmd.io/_uploads/rys_KsRZp.png =800x) ## Free5GC ### 建立 run.sh 檔案 開啟你的 free5gc 虛擬機,輸入以下指令 ```bash= sudo vim run.sh ``` ### 在 vim 中編輯 1. 按下 <kbd>i</kbd>,螢幕左下角要顯示 `-- INSERT --`。 2. 打入以下程式碼 (若你是在 Powershell 編輯,可以直接 <kbd>ctl</kbd> + <kbd>c</kbd> , <kbd>ctl</kbd> + <kbd>v</kbd>貼上)。 ```bash= #!/bin/bash echo [你的密碼] | sudo -S iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE SESSION="free5gc" WINDOW="$SESSION:main" # 刪除現有的 tmux tmux kill-session -t $SESSION # 建立 session tmux new-session -d -s $SESSION # window 重命名 tmux rename-window -t $SESSION:0 "main" # 傳送指令 tmux send-keys -t $WINDOW "echo [你的密碼] | sudo -S ls" C-m tmux send-keys -t $WINDOW "cd ~/free5gc/" C-m tmux send-keys -t $WINDOW "./force_kill.sh" C-m tmux send-keys -t $WINDOW "./run.sh" C-m # 分割 pane tmux split-pane -h -t $WINDOW # 傳送命令 tmux send-keys "cd ~/free5gc/webconsole/" C-m tmux send-keys "go run server.go" C-m # attach session tmux a -t $SESSION ``` 3. 按下 <kbd>esc</kbd> 再按下 <kbd>shift</kbd> + <kbd>;</kbd> (就是 <kbd>:</kbd> 的意思)。 4. 輸入 `wq`, 按下 <kbd>Enter</kbd> 存檔並離開。 :::danger **NOTE**: [你的密碼] 部分要改成你的密碼。(中括號 `[]` 不用加) ::: ### 執行 run.sh ```bash= sh ./run.sh ``` 或是把腳本檔案加上執行權限,就可以直接執行腳本,不需要透過 `sh` 指令 ```bash= sudo chmod +x ./run.sh ./run.sh ``` ## UERANSIM ### 建立 run.sh 檔案 ```bash= sudo vim run.sh ``` ### 在 vim 中編輯 1. 按下 <kbd>i</kbd>,螢幕左下角要顯示 `-- INSERT --`。 2. 打入以下程式碼 (若你是在 Powershell 編輯,可以直接 <kbd>ctl</kbd> + <kbd>c</kbd> , <kbd>ctl</kbd> + <kbd>v</kbd> 貼上)。 ```bash= #!/bin/bash SESSION="ueransim" WINDOW="$SESSION:main" # 刪除現有的 tmux tmux kill-session -t $SESSION # 建立 session tmux new-session -d -s $SESSION # -d: detach # window 重命名 tmux rename-window -t $SESSION:0 "main" # 傳送命令 tmux send-keys -t $WINDOW 'cd ~/UERANSIM/build/' C-m # cd ~/UERANSIM/build/ tmux send-keys -t $WINDOW './nr-gnb -c ../config/free5gc-gnb.yaml' C-m # 水平分割 pane tmux split-window -h -t $WINDOW # 傳送命令 tmux send-keys -t $WINDOW "echo [你的密碼] | sudo -S ls" C-m tmux send-keys -t $WINDOW 'cd ~/UERANSIM/build' C-m tmux send-keys -t $WINDOW 'sudo ./nr-ue -c ../config/free5gc-ue.yaml' C-m sleep 5 sh ./ping.sh ``` 3. 按下 <kbd>esc</kbd> 再按下 <kbd>shift</kbd> + <kbd>;</kbd> (就是 <kbd>:</kbd> 的意思)。 4. 輸入 `wq`, 按下 <kbd>Enter</kbd> 存檔並離開。 :::danger **NOTE**: [你的密碼] 部分要改成你的密碼。 (中括號 `[]` 不用加) ::: ### 建立 ping.sh 檔案 ```bash= sudo vim ping.sh ``` 同前面使用 vim 的方法複製以下內容 ```bash= #!/bin/bash echo 0000 | sudo -S ip route add default dev uesimtun0 ping -c 8 -I uesimtun0 google.com ``` ### 執行 run.sh ```bash= sh ./run.sh ``` ## 批量刪除 subscriber ```shell for i in {0..2067} do num=$((208930000000000 + i)) strNum="$num" str="imsi-$strNum" #echo " http://192.168.56.102:5000/api/subscriber/$str/20893" curl -v -X DELETE http://192.168.56.102:5000/api/subscriber/$str/20893 -H "Token: admin" done ```