linux ping策略開啟_如何在Linux上安裝和使用UFW防火牆
技術標籤:linux ping策略開啟
Introduction
UFW也稱為非複雜防火牆,它是iptables的介面,特別適合基於主機的防火牆。UFW為不熟悉防火牆概念的初學者提供了易於使用的介面。它是源自Ubuntu的最受歡迎的防火牆工具,它同時支援IPv4和IPv6。在本教程中,我們將學習如何在Linux上安裝和使用UFW防火牆。
Installing UFW
Ubuntu
預設情況下,UFW在大多數基於Ubuntu的發行版中可用。如果已刪除,則可以通過執行以下linux命令來安裝它。
# apt-get install ufw -y
Debian
可以通過執行以下linux命令在Debian中安裝UFW。
# apt-get install ufw -y
CentOS
預設情況下,UFW在CentOS儲存庫中不可用。因此,您需要將EPEL儲存庫安裝到系統中,可以通過執行以下linux命令來安裝。一旦安裝了EPEL儲存庫,就可以來安裝UFW。
# yum install epel-release -y# yum install --enablerepo="epel" ufw -y
安裝UFW之後,通過執行以下linux命令來啟動UFW服務並使其在啟動時啟動,檢視其狀態。
# ufw enable # ufw status Status: active
通過執行以下linux命令來禁用UFW防火牆。
# ufw disable
Set UFW Default Policy
預設情況下,UFW預設策略設定為阻止所有傳入流量並允許所有傳出流量。可以使用以下linux命令設定自己的預設策略。
# ufw default allow outgoing # ufw default deny incoming
Add and Delete Firewall Rules
可以使用埠號或服務名稱兩種方式新增用於允許傳入和傳出流量的規則。例如,如果要同時允許HTTP服務的傳入和傳出連線,然後使用服務名稱執行以下linux命令。
# ufw allow http (服務名稱方式)# ufwallow80(埠方式)
如果要基於TCP或UDP過濾資料包,請執行以下命令。
# ufw allow 80/tcp # ufw allow 21/udp
使用以下linux命令檢查已新增規則的狀態,會看到以下輸出。
[email protected]:~# ufw status verbose Status: activeLogging: on (low)Default: deny (incoming), allow (outgoing), disabled (routed)New profiles: skipTo Action From-- ------ ----22/tcp ALLOW IN Anywhere 139 ALLOW IN Anywhere 445 ALLOW IN Anywhere 80/tcp ALLOW IN Anywhere 21/udp ALLOW IN Anywhere 22/tcp (v6) ALLOW IN Anywhere (v6) 139 (v6) ALLOW IN Anywhere (v6) 445 (v6) ALLOW IN Anywhere (v6) 80/tcp (v6) ALLOW IN Anywhere (v6) 21/udp(v6)ALLOWINAnywhere(v6)[email protected]:~#
使用以下命令拒絕服務傳入和傳出流量。
# ufw deny 80 # ufw deny 21
如果要刪除HTTP允許的規則,只需在原始規則前加上delete即可。
#ufw delete allow http #ufw delete deny 21
Advanced UFW rules
還可以新增特定的IP地址以允許和拒絕訪問所有服務,執行以下命令以允許IP 192.168.0.200訪問伺服器上的所有服務:
# ufw allow from 192.168.0.200
要拒絕IP 192.168.0.200訪問伺服器上的所有服務,請執行以下操作。
# ufw deny from 192.168.0.200
可以在UFW中允許IP地址範圍,執行以下命令以允許從IP 192.168.1.1到192.168.1.254的所有連線。
#ufwallowfrom192.168.1.0/24
要允許IP地址192.168.1.200使用TCP訪問埠80,請執行以下linux命令。
# ufw allow from 192.168.1.200 to any port 80 proto tcp
要允許訪問2000到3000之間的tcp和udp埠範圍,請執行以下linux命令。
# ufw allow 2000:3000/tcp # ufw allow 2000:3000/udp
如果要阻止從IP 192.168.0.4和192.168.0.10訪問埠22,但允許所有其他IP訪問埠22,請執行以下命令。
# ufw deny from 192.168.0.4 to any port 22 # ufw deny from 192.168.0.10 to any port 22 # ufw allow from 192.168.0.0/24 to any port 22
要允許網路介面eth0上的HTTP通訊,請執行以下linux命令。
# ufw allow in on eth0 to any port 80
預設情況下,UFW允許ping請求,如果要拒絕ping請求,則需要編輯 /etc/ufw/before.rules 檔案,刪除相關行,完成後並儲存檔案。
# nano /etc/ufw/before.rules #刪除以下行#-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
如果需要重置UFW刪除所有規則,則可以通過以下linux命令來進行。
# ufw reset
Configure NAT with UFW
如果要對UFW從外部介面到內部的連線進行NAT,可以通過編輯/etc/default/ufw和/etc/ufw/before.rules檔案來執行此操作。/etc/default/ufw使用nano編輯器開啟檔案。
# nano /etc/default/ufwDEFAULT_FORWARD_POLICY="DROP"#更改為ACCEPT#DEFAULT_FORWARD_POLICY="ACCEPT"#
還需要允許ipv4轉發,可以通過編輯/etc/ufw/sysctl.conf檔案來做到這一點
#nano /etc/ufw/sysctl.confnet/ipv4/ip_forward=1#預設沒有啟用
將NAT新增到ufw的配置檔案中,可以通過編輯 nano/etc/ufw/before.rules檔案,新增以下行。
# NAT table rules*nat:POSTROUTING ACCEPT [0:0]# Forward traffic through eth0 - Change to match you out-interface-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE# don't delete the 'COMMIT' line or these nat table rules won't# be processedCOMMIT#這個在末尾一定不要刪除
儲存檔案退出,需要重新啟動。
# ufw disable# ufw enable
Configure Port Forwarding with UFW
如果想轉發來自公共IP的流量,例如150.129.148.155埠80和443連線到IP地址為192.168.1.120的另一臺內部伺服器,可以通過編輯檔案 nano/etc/default/before.rules,更改如下。
:PREROUTING ACCEPT [0:0] -APREROUTING-ieth0-d150.129.148.155-ptcp--dport80-jDNAT--to-destination192.168.1.120:80-APREROUTING-ieth0-d150.129.148.155-ptcp--dport443-jDNAT--to-destination192.168.1.120:443-A POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE
重新啟動UFW。
# ufw disable# ufw enable
接下來,還需要允許埠80和443通過防火牆。
# ufw allow proto tcp from any to 150.129.148.155 port 80# ufw allow proto tcp from any to 150.129.148.155 port 443
翻譯自:
https://linuxconfig.org/how-to-install-and-use-ufw-firewall-on-linux
----------END----------