【Linux】 iptables vs firewalld
生活随笔
收集整理的這篇文章主要介紹了
【Linux】 iptables vs firewalld
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- iptables 其他命令
- firewalld
- systemctl
iptables 其他命令
1. 禁用/停止自帶的firewalld服務#停止firewalld服務 systemctl stop firewalld#禁用firewalld服務 systemctl mask firewalld2. 設置現有規則 #查看iptables現有規則 iptables -L -n#先允許所有,不然有可能會杯具 iptables -P INPUT ACCEPT#清空所有默認規則 iptables -F#清空所有自定義規則 iptables -X#所有計數器歸0 iptables -Z#允許來自于lo接口的數據包(本地訪問) iptables -A INPUT -i lo -j ACCEPT#開放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT#開放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT#開放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT#開放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT#允許ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT#允許接受本機請求之后的返回數據 RELATED,是為FTP設置的 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT#其他入站一律丟棄 iptables -P INPUT DROP#所有出站一律綠燈 iptables -P OUTPUT ACCEPT#所有轉發一律丟棄 iptables -P FORWARD DROP#如果要添加內網ip信任(接受其所有TCP請求) iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT#過濾所有非以上規則的請求 iptables -P INPUT DROP#要封停一個IP,使用下面這條命令: iptables -I INPUT -s ***.***.***.*** -j DROP#要解封一個IP,使用下面這條命令: iptables -D INPUT -s ***.***.***.*** -j DROP#保存上述規則 service iptables save#注冊iptables服務 #相當于以前的chkconfig iptables on systemctl enable iptables.service#開啟服務 systemctl start iptables.service#查看狀態 systemctl status iptables.service3. 映射端口(如將mysql默認的3306端口映射成1306對外提供服務) iptables -t mangle -I PREROUTING -p tcp --dport 1306 -j MARK --set-mark 883306 iptables -t nat -I PREROUTING -p tcp --dport 1306 -j REDIRECT --to-ports 3306 iptables -I INPUT -p tcp --dport 3306 -m mark --mark 883306 -j ACCEPTfirewalld
啟動: systemctl start firewalld 查看狀態: systemctl status firewalld / firewall-cmd --state 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 添加:firewall-cmd --zone=public --add-port=1234/tcp --permanent(--permanent永久生效,沒有此參數重啟后失效) 添加端口外部訪問權限(這樣外部才能訪問) firewall-cmd --add-port=5005/tcp 重新載入,添加端口后重新載入才能起作用 firewall-cmd --reload 這些之后,端口是開啟成功的,如果沒有成功,重啟系統試試。查看端口:firewall-cmd --zone=public --query-port=80/tcp 刪除端口:firewall-cmd --zone=public --remove-port=80/tcp --permanent 查看firewall是否運行,下面兩個命令都可以 systemctl status firewalld 或 firewall-cmd --state其實一個服務對應一個端口,每個服務對應/usr/lib/firewalld/services下面一個xml文件。 查看開啟了哪些服務:firewall-cmd --list-services 查看開啟了哪些端口:firewall-cmd --list-ports 查看還有哪些服務可以打開:firewall-cmd --get-services 查看所有打開的端口:firewall-cmd --zone=public --list-ports 更新防火墻規則:firewall-cmd --reload 查看端口訪問權限情況:firewall-cmd --query-port=1234/tcp 添加端口外部訪問權限:firewall-cmd --add-port=1234/tcpsystemctl
啟動: systemctl start firewalld 查看狀態: systemctl status firewalld 停止: systemctl disable firewalld 禁用: systemctl stop firewalld 啟動服務:systemctl start firewalld.service 關閉服務:systemctl stop firewalld.service 重啟服務:systemctl restart firewalld.service 服務的狀態:systemctl status firewalld.service 在開機時啟用一個服務:systemctl enable firewalld.service 在開機時禁用一個服務:systemctl disable firewalld.service 查看服務是否開機啟動:systemctl is-enabled firewalld.service 查看已啟動的服務列表:systemctl list-unit-files|grep enabled 查看啟動失敗的服務列表:systemctl --failed 查看版本: firewall-cmd --version 查看幫助: firewall-cmd --help 顯示狀態: firewall-cmd --state 查看所有打開的端口: firewall-cmd --zone=public --list-ports 更新防火墻規則: firewall-cmd --reload 查看區域信息: firewall-cmd --get-active-zones 查看指定接口所屬區域: firewall-cmd --get-zone-of-interface=eth0 拒絕所有包:firewall-cmd --panic-on 取消拒絕狀態: firewall-cmd --panic-off 查看是否拒絕: firewall-cmd --query-panic總結
以上是生活随笔為你收集整理的【Linux】 iptables vs firewalld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Docker】日常记录
- 下一篇: 【NGINX+PHP7.3+MYSQL】