您現在的位置是:首頁 > 籃球
UOS伺服器作業系統防火牆設定
- 由 IT界的店小二 發表于 籃球
- 2021-06-11
防火牆如何設定
1. UOS支援的防火牆
iptables ufw firewalld
Netfilter區別?
iptables ufw firewall 都是前端管理,Netfilter才是核心。
統信的UOS伺服器作業系統是基於Debian開發的,因此和Debian和Ubuntu很多命令都是相同的。在Debian和Ubuntu上面可以使用的防火牆在UOS也是可以正常使用的。
預設情況下,Debian使用iptables,Ubuntu有iptables,也使用簡單的ufw,在CentOS7 之前使用的是iptables,CentOS 7開始使用firewall,Centos 7前可以使用iptables命令也可以直接編輯檔案
/etc/sysconfig/iptables,在firewall一般都是使用命令。在Debian和UOS是使用iptables命令,由於不是直接編輯配置檔案,需要對iptables命令比較熟悉,再就是對重啟生效需要編輯檔案設定。ufw也可以在UOS使用,由於是簡易的命令,在本文主要討論怎麼使用iptables來設定防火牆功能。
2. 防火牆設定
UOS防火牆設定步驟:
檢查iptables有沒有安裝
如果之前有使用CentOS經驗使用service iptables status 是檢查不出來的,在CentOS中iptables是以服務形式,這裡iptables只是配置的前端的命令,也不能使用yum list檢視。而是使用apt list|grep iptables 看到已經安裝。表示已經正常安裝,如果沒有安裝可以使用apt install iptables 或者apt-get install iptables,如果想要使用ufw安裝apt install ufw,如果希望使用firewall,也可以安裝後使用。
清空原有規則
iptables -L 可以檢視現有生效的規則
iptables -P INPUT ACCEPT 清空規則前放開INPUT 否則清空以後可能導致無法遠端連線
#清空配置
iptables -F【清空規則】
iptables -X 【刪除自建鏈】
iptables -Z 【重置過濾包資料】
新建規則配置檔案
第一種方式,編輯/etc/iptables。sh然後賦予執行許可權chmod +x /etc/iptables。sh。執行以後規則就生效了,如果需要修改規則每次都可以修改此檔案。
第二種方式配置檔案/etc/iptables(需要使用/sbin/iptables-restore 匯入規則,可以配置重啟時就執行該檔案)
#清空配置
iptables
-F
iptables
-X
iptables
-Z
#配置,禁止進,允許出,允許迴環網絡卡
iptables
-P
INPUT DROP
iptables
-A
OUTPUT
-j
ACCEPT
iptables
-A
INPUT
-i
lo
-j
ACCEPT
#允許ping
iptables
-A
INPUT
-p
icmp
-j
ACCEPT
#允許ssh
iptables
-A
INPUT
-p
tcp
——dport
22
-j
ACCEPT
#允許VNC
iptables
-A
INPUT
-p
tcp
——dport
5900
-j
ACCEPT
#學習felix,把smtp設成本地
iptables
-A
INPUT
-p
tcp
-m
tcp
——dport
25
-j
ACCEPT
-s
127
。0。0。1
iptables
-A
INPUT
-p
tcp
-m
tcp
——dport
25
-j
REJECT
#允許DNS
iptables
-A
INPUT
-p
tcp
-m
tcp
——dport
53
-j
ACCEPT
iptables
-A
INPUT
-p
udp
-m
udp
——dport
53
-j
ACCEPT
#允許http和https
iptables
-A
INPUT
-p
tcp
——dport
80
-j
ACCEPT
iptables
-A
INPUT
-p
tcp
——dport
443
-j
ACCEPT
# 允許已建立的或相關連的通行
iptables
-A
INPUT
-m
state
——state
ESTABLISHED,RELATED
-j
ACCEPT
#禁止其他未允許的規則訪問
iptables
-A
INPUT
-j
REJECT
#(注意:如果22埠未加入允許規則,SSH連結會直接斷開。)
iptables
-A
FORWARD
-j
REJECT
匯入規則
iptables-save >/etc/iptables 【儲存規則】
/sbin/iptables-restore
設定重啟生效指令碼
1。)將iptables。sh指令碼放到init。d中每次都重啟【需要保障iptables指令碼一致都是最新的規則,如果是後續臨時修改的規則可能不在其中】
2。)編輯/etc/network/if-pre-up。d/iptables,重啟會自動生效。要保障/etc/iptables中規則一致是最新的,每次修改規則可以編輯/etc/iptables 如果是使用iptables命令新增,需要增加iptables-save >/etc/iptables 儲存。
#!/bin/sh
/sbin/iptables-restore < /etc/iptables
3. 防火牆指令碼
編輯如下指令碼【第一次執行】,後續編輯/etc/iptables,使用/sbin/iptables-restore < /etc/iptables重新匯入,或者直接iptables命令新增,iptables-save>/etc/iptables 儲存,防止機器重啟無效
#!/bin/sh
#防火牆指令碼
echo
“#!/bin/sh
/sbin/iptables-restore < /etc/iptables”
>/etc/network/if-pre-up。d/iptables
echo
“#清空配置
iptables -F
iptables -X
iptables -Z
#配置,禁止進,允許出,允許迴環網絡卡
iptables -P INPUT DROP
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#允許ping
iptables -A INPUT -p icmp -j ACCEPT
#允許ssh
iptables -A INPUT -p tcp ——dport 22 -j ACCEPT
#允許VNC
iptables -A INPUT -p tcp ——dport 5900 -j ACCEPT
#學習felix,把smtp設成本地
iptables -A INPUT -p tcp -m tcp ——dport 25 -j ACCEPT -s 127。0。0。1
iptables -A INPUT -p tcp -m tcp ——dport 25 -j REJECT
#允許DNS
iptables -A INPUT -p tcp -m tcp ——dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp ——dport 53 -j ACCEPT
#允許http和https
iptables -A INPUT -p tcp ——dport 80 -j ACCEPT
iptables -A INPUT -p tcp ——dport 443 -j ACCEPT
# 允許已建立的或相關連的通行
iptables -A INPUT -m state ——state ESTABLISHED,RELATED -j ACCEPT
#禁止其他未允許的規則訪問
iptables -A INPUT -j REJECT #(注意:如果22埠未加入允許規則,SSH連結會直接斷開。)
iptables -A FORWARD -j REJECT”
> /etc/iptables。sh
chmod
+
x /etc/iptables。sh
chmod
+
x /etc/network/if-pre-up。d/iptables
/etc/iptables。sh
iptables-save > /etc/iptables
/sbin/iptables-restore < /etc/iptables
4. 關閉防火牆(清空所有規則,刪除指令碼,關閉重啟)
iptables
-P
INPUT ACCEPT
iptables
-F
iptables
-X
iptables
-Z
rm
/etc/iptables*
rm
/etc/network/if-pre-up。d/iptables
5. 配置黑白名單
#黑白名單
####當只有部分人可以訪問使用白名單,當只有部分人不能訪問使用黑名單
##設定鏈名
iptables
-N
whitelist
iptables
-N
blacklist
##設定自定義鏈規則
iptables
-A
whitelist
-s
xxxx ACCEPT
iptables
-A
blacklist
-s
xxxx DROP
##設定INPUT規則
iptables
-A
INPUT
-p
tcp
——dport
22
-j
whitelist
iptables
-A
INPUT
-p
tcp
——dport
22
-j
blacklist
#刪除規則
iptables
-D
INPUT 數字(iptables
-L
INPUT
——line-numbers
檢視對應鏈的規則序號)
iptables
-D
INPUT
-p
tcp
——dport
22
-j
whitelist (也可以使用設定規則時相同的命令把A改成D)
#刪除自定義鏈
iptables
-X
鏈名(注意內建鏈不可刪除)
iptables
-Z
置零
iptables
-F
清空規則
下一篇:如何設定電腦的防火牆