linux防火牆的基本配置?在上節的筆記中,大家還記得那條防火牆的設置命令麼?為什麼要使用防火牆呢?Linux 系統中,安全的第一道防線就是它跟 Windows中防火牆一樣,都是要設置端口的開放與關閉那除了增加的命令之外,還有沒有其它的操作呢?是如何實現的?那我們本節進行簡單地講解一下與防火牆有關的筆記内容,我來為大家科普一下關于linux防火牆的基本配置?以下内容希望對你有幫助!
在上節的筆記中,大家還記得那條防火牆的設置命令麼?為什麼要使用防火牆呢?Linux 系統中,安全的第一道防線就是它。跟 Windows中防火牆一樣,都是要設置端口的開放與關閉。那除了增加的命令之外,還有沒有其它的操作呢?是如何實現的?那我們本節進行簡單地講解一下與防火牆有關的筆記内容。
防火牆的配置,在 Centos 6 以前是使用命令iptables,而到了 Centos 7以之後的版本,改成了 firewall-cmd命令,為了大家更方便的理解,我把整個過程分解成(查看狀态、增加端口操作、其它安全設置)三個方面給大家講解,讓大家盡可能明白防火牆是如何去配置的。
一、如何去查看防火牆的狀态以及防火牆開啟與關閉1、iptables 版本命令:
啟動: service iptables start
關閉: service iptables stop
查看狀态: service iptables status
設置開機禁用 : chkconfig iptables off
設置開機啟用 : chkconfig iptables on
iptables 配置文件目錄/etc/sysconfig/iptables,如果不想使用命令,也可以直接使用 vim/vi 來編輯配置文件,使用 cat 命令來查看配置内容。
實例:
[root@localhost ~]# service iptables status //查看防火牆狀态,開了就會有下面的内容
表格:filter
Chain INPUT (policy ACCEPT) //接入的端口信息
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8089
Chain FORWARD (policy ACCEPT) //
num target prot opt source destination
Chain OUTPUT (policy ACCEPT) //接出允許信息
num target prot opt source destination
[root@localhost ~]# service iptables status //沒開防火牆的提示
iptables:未運行防火牆。
[root@localhost ~]# service iptables stop //關閉防火牆
iptables:将鍊設置為政策 ACCEPT:filter [确定]
iptables:清除防火牆規則: [确定]
iptables:正在卸載模塊: [确定]
[root@localhost ~]# service iptables start //開啟防火牆
iptables:應用防火牆規則: [确定]
[root@localhost ~]#
2firewall-cmd 版本命令
這裡要對 systemctl 這個命令注釋一下:
systemctl 命令結合了 service 與 chkconfig 兩個命令的功能,是 Centos 7版本後用來對“服務”進行管理的一個命令。而 service 與 chkconfig 兩個命令之後版本都沒再出現過。
啟動服務:systemctl start firewalld關閉服務:systemctl stop firewalld重啟服務:systemctl restart firewalld顯示服務的狀态:systemctl status firewalld
開機時啟用服務:systemctl enable firewalld開機時禁用服務:systemctl disable firewalld
實例:
[root@localhost ~]# systemctl status firewalld //已開啟防火牆狀态
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2021-10-13 22:43:01 CST; 3 weeks 6 days ago
Docs: man:firewalld(1)
Main PID: 840 (firewalld)
//或者使用以下命令也可以查看
[root@localhost ~]# firewall-cmd --state
running
[root@localhost ~]# systemctl state firewalld //未開啟防火牆的提示
Unknown operation 'state'.
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: inactive (dead) since 三 2021-11-10 17:50:09 CST; 17s ago
Docs: man:firewalld(1)
Process: 840 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
Main PID: 840 (code=exited, status=0/SUCCESS)
[root@localhost ~]# firewall-cmd --state //另外一種提示命令
not running
防火牆的端口開放與關閉,是運維工作當中常用的操作,安全配置上也有相關的要求。因此我們要比較熟悉的學習到這一塊的内容。當連接數據庫或遠程登陸等與網絡相關的故障,我們都要第一時間想到防火牆的配置問題,可以讓我們走少很多的彎路。
iptables命令增加端口的實際應用
#允許本地回環接口(即運行本機訪問本機)
iptables -A INPUT -i lo -j ACCEPT //就是把LO本地連接加入防火牆
# 允許已建立的或相關連的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允許所有本機向外的訪問
iptables -P INPUT ACCEPT
iptables -A OUTPUT -j ACCEPT
# 允許訪問22端口 //這個則是SSH遠程的默認端口,建議更換高位數
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 10.159.1.0/24 --dport 22 -j ACCEPT
注:-s後可以跟IP段或指定IP地址 //不同的參數可以增加不同的内容
#允許訪問80端口 //WEB服務器一定要設置的
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允許FTP服務的21和20端口 //FTP服務器也是一樣開這些
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的話,規則也類似,稍微修改上述語句就行
#允許ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#禁止其他未允許的規則訪問 //這個是安全的設置,一般要做
iptables -A INPUT -j REJECT #(注意:如果22端口未加入允許規則,SSH鍊接會直接斷開。)
iptables -A FORWARD -j REJECT
另外iptables還有一些高級不常用的命令集,大家也可以拿來參考一下!有時間也練習一下。有時能救命。
#屏蔽單個IP的命令
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整個段即從172.16.10.1到172.16.10.254的命令
iptables -I INPUT -s 172.16.10.0/24 -j DROP
#查看已有的規則//就是防火牆已經開放或關閉的内容
iptables -L -n //-n 隻顯示IP與端口,不顯示域名
#如果上面的結果要加上序号顯示
iptables -L -n --line-numbers
#然後可以直接删除序号的那條規則
iptables -D INPUT 8//數字就是序号
操作完成,記得一定要重啟防火牆服務才會生效。
firewall-cmd命令
//命令--permanent參數表示永遠生效,沒加就是重啟服務器前生效。
[selly@localhost ~]$ firewall-cmd --zone=public --add-port=80/tcp --permanent
success
//重啟防火牆服務
[root@localhost sysconfig]# firewall-cmd --reload
success
//查看已經增加的端口命令
[root@localhost sysconfig]# firewall-cmd --zone=public --list-ports
80/tcp
//删除端口開放命令
[root@localhost sysconfig]#firewall-cmd --zone=public --remove-port=80/tcp --permanent
//這條命令,大家還是保存來用吧,太長了,是給同一個IP地址增加多個端口的命令
[root@localhost sysconfig]#firewall-cmd --permanent --add-rich-rule="rule family="ipv4"
source address="10.159.60.29" port protocol="tcp" port="1:65535" accept"
三、其它的安全配置說明
防火牆的配置,可以說是服務器安全運維的最重要的一環。如果大家不去注意這個配置與熟悉應用,特别是應用服務器與數據庫服務器不同一台機器的時候,很容易導緻無法正常連接數據庫或應用。希望大家多花點時間這裡。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!