雲伺服器開啟埠 CentOS開啟埠 防火牆添加埠 firewall-cmd --zone=public --add-port=埠/tcp --permanent 命令含義: –zone #作用域 –add-port=1935/tcp #添加埠,格式為:埠/通訊協議 –permanent ...
目錄
雲伺服器開啟埠
CentOS開啟埠
- 防火牆添加埠
firewall-cmd --zone=public --add-port=埠/tcp --permanent
命令含義:
–zone #作用域
–add-port=1935/tcp #添加埠,格式為:埠/通訊協議
–permanent #永久生效,沒有此參數重啟後失效
- 重新載入,添加埠後重新載入才能起作用
firewall-cmd --reload
- 查看埠是否開啟
firewall-cmd --zone=public --query-port=埠/tcp
- 阿裡雲伺服器還需在控制台配置:
1.進入 雲伺服器 ECS 找到 安全組
2.進入配置規則
3.在訪問規則 入方向中添加需要開發的埠即可
至此Linux外網訪問埠已開啟
註:Linux打開埠命令每一個打開的埠,都需要有相應的監聽程式才可以
查看埠監聽程式
netstat -ntlp
-n/-numeric 以數值地址形式進行展示
-t/-tcp 顯示 TCP 協議的連接情況
-l/-listening 僅顯示監聽中的套接字
-p/-program 顯示套接字關聯的程式名稱和 PID
5.測試(Linux中有一個級強大的網路工具netcat,在預設情況下麵都是沒有安裝的)
- 安裝nc
切換到root用戶:
yum install -y nc
- 監聽埠(當客戶端鏈接之後關閉)
nc -lp 埠 &
-l 開啟 監聽模式,用於指定nc將處於監聽模式。通常這樣代表著為一個服務等待客戶端來鏈接指定的埠。
-p<通信埠> 設置本地主機使用的通信埠。
本地使用 telnat 訪問
telnat 伺服器ip地址 埠
附:
查看防火牆狀態: systemctl status firewalld
停止防火牆: systemctl disable firewalld
重啟防火牆:systemctl restart firewalld
禁用防火牆: systemctl stop firewalld
查看開啟了哪些埠:firewall-cmd --list-ports
關閉埠(需要重新載入):firewall-cmd --zone=public --remove-port=埠/tcp --permanent
Ubuntu開啟埠
- 打開埠
登錄阿裡雲伺服器,進入控制台,添加要打開的伺服器埠到安全組
下載ufw(這個工具用來操作防火牆,比如指定對外開放哪個埠), sudo apt-get install ufw
打開防火牆, sudo ufw enable
防火牆打開需要對外開放的埠, sudo ufw allow 埠號(註意,控制台做了另外一層防護,所以必須先在阿裡雲安全組打開埠, 就是本文的第一步的操作)
查看防火牆狀態, sudo ufw status, 可以查看上面的對外開放埠操作是否成功 - 檢測埠開放是否成功
使用埠, nc -lp 埠號
註意,這裡相當於打開一個程式,使用對應埠, 這個程式占用目前這個埠。如果後面有程式要使用,就先關閉這個進程
在另外一臺機器使用telnet + ip + 埠號,如telnet xxx.xxx.xxx.xxx 9944, 如果可以連接,說明開放埠已經成功 - 說明
阿裡雲伺服器千萬不要隨便使用sudo ufw default deny命令, 會拒絕一切遠程連接,包括在控制台也不能重新進入伺服器,只能發工單解決
禁用埠命令sudo ufw deny 埠號
刪除防火牆的某條規則sudo ufw delete allow smtp(這裡是刪除allow smtp規則)
關閉防火牆sudo ufw disable - 一些很有用的操作
netstat -tnlp | grep :9945 查看9945埠占用的進程
kill -9 進程id, 殺掉進程