服務器接入swoole 關聯的防火牆問題

接上面的操做,在騰訊雲服務器上,安裝 easyswoole 成功以後,想簡單的寫個demo,先在服務器上跑起來。 後面的研究交給次日

1. 對外公網 IP

首先混淆了一個對外IP的概念html

1.1 錯誤的ifconfig

clipboard.png

swoole腳本程序對外暴露了 9502端口。 經過URL進行HTTP訪問,發現服務器怎麼也響應不了linux

PS :中間的過程再也不多說,懷疑了IP問題和防火牆問題

1.2 獲取真正的對外IP

curl ifconfig.me

wget -qO- ifconfig.me/ip

2. 端口和防火牆

2.1 排錯過程

安裝demo 實例,寫了一個簡單的腳本瀏覽器

clipboard.png

對外暴露。 服務器

經過HTTP訪問,無響應。swoole

排錯1 : 查看端口是否啓動ssh

clipboard.png

排錯2 : 內網訪問curl

clipboard.png

9502服務正常開啓,內部訪問正常,外部訪問出現異常,就極可能是外部訪問受限。tcp

由於是買的騰訊雲,因此多是默認的 防火牆 deny測試

2.2 關閉防火牆

先經過關閉防火牆測試一下。url

sudo ufw disable

發現經過瀏覽器已經能夠正常的訪問了。

可是若是由於一個服務,把全部的端口都暴露出去,也太危險了

因此選擇對外暴露 固定端口

sudo ufw enable  // 開啓防火牆

sudo ufw status // 查看防火牆的配置信息

sudo ufw allow 9502 // 對外暴露 9502 端口

測試 能夠進程正常的訪問 9502 端口,可是若是swoole服務啓動 9503端口,雖然服務正常啓動,內網訪問正常,可是外網不能夠訪問。

2.3 防火牆的命令

在 Ubuntu 中用 UFW 配置防火牆

sudo ufw enable
sudo ufw default deny
sudo ufw allow|deny [service]

sudo ufw allow smtp 容許全部的外部IP訪問本機的25/tcp (smtp)端口
sudo ufw allow 22/tcp 容許全部的外部IP訪問本機的22/tcp (ssh)端口
sudo ufw allow 53 容許外部訪問53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 容許此IP訪問全部的本機端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp 禁止外部訪問smtp服務
sudo ufw delete allow smtp 刪除上面創建的某條規則


查看防火牆狀態
sudo ufw status
容許某特定 IP
sudo ufw allow from xxx.xxx.xx.xxx
刪除 smtp 端口的許可
sudo ufw delete allow smtp
相關文章
相關標籤/搜索