天天看點

centos 6/7 防火牆端口管理 firewalld、iptables防火牆限制IP端口;限制來訪IP和端口

centos 6 

vi /etc/sysconfig/iptables # 防火牆配置檔案

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

# 添加防火牆樣本:開放22 和80 端口

service iptables restart # 重新開機防火牆

netstat -ntlp # 檢視正在運作的端口

service httpd restart # 重新開機 httpd 服務

ubuntu

ufw allow 8081               # ubuntu 防火牆1

iptables -I INPUT -p tcp --dport 8081 -m state --state NEW -j ACCEPT

centos 7

yum list | grep firewall # 查找安裝包

yum install  -y firewalld

firewall-cmd --state        #  檢視防火牆是否運作

firewall-cmd --query-port=8080/tcp #  先檢視端口是否開放

#  firewall [ˈfaɪəwɔːl]  防火牆

firewall-cmd --zone=public --list-ports # 列出公共端口 zone [zoʊn] 地區

firewall-cmd --permanent --add-port=8022/tcp

# 開放端口8022

# permanent [ˈpɜːmənənt]  永久的

# 不加此參數重新開機會失效

firewall-cmd --permanent --remove-port=8080/tcp

# 移除端口

firewall-cmd --zone=public --add-port=4400-4600/udp --permanent

firewall-cmd --zone=public --add-port=4400-4600/tcp --permanent

# 開放多個端口,指定範圍 :udp;tcp 類型

#---  生效配置 ---#

systemctl restart firewalld                                 # 添加端口後,重新開機防火牆生效

firewall-cmd --reload                                        # 重載防火牆配置

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 檢視是否拒絕

firewall-cmd --zone=public --list-ports # 檢視開啟的端口,端口清單

netstat -ntlp # 檢視正在運作的端口

firewall-cmd --reload # 重新開機防火牆

systemctl stop firewalld # 禁用防火牆

systemctl enable firewalld # enable 開機自動啟動

# disable禁止開機啟動

firewall-cmd --list-all #檢視防火牆規則(隻顯示/etc/firewalld/zones/public.xml中防火牆政策)

firewall-cmd --list-all-zones #檢視所有的防火牆政策(即顯示/etc/firewalld/zones/下的所有政策)

#######################    限制來訪ip端口   ################################

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="127.0.0.3" port protocol="tcp" port="1521" accept"

# 對指定IP 開放端口

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

# 限制IP通路80端口;firewall [ˈfaɪrwɑl] 防火牆;

# permannet [ˈpɜrmənənt] 永久, p man ent;  rith [rɪʧ] 豐富; rule [rul] 規則;永久添加豐富規則

# family  [ˈfæməli] 家族;家族規則;source [sɔrs] 來源; prot [pɔrt] 端口; protocol [ˈproᴜtəˌkɑl] 規則;reject [ˈriʤɛkt] 拒絕

# --add-rich-rule= 防火牆加入一段字元串: 

# address="10.0.0.0/24"  其中 /24 是限制整段IP 

firewall-cmd --reload # 重載配置,生效

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"

    # 解除IP禁止通路端口   remove 删除規則

firewall-cmd --reload # 重載配置,生效

firewall-cmd --zone=public --list-ports

# 檢視記錄

# systemctl disable firewalld  # disables 禁止開機啟動,enables 開啟開機啟動

vi /etc/firewalld/zones/public.xml # 規則記錄檔案管理

# --add-rich-rule= 防火牆加入一段字元串,産生如下資訊:

  <rule family="ipv4">

    <source address="180.76.164.15"/>

    <port protocol="tcp" port="22"/>       # 禁止22端口

    <reject/> # reject  [ˈriʤɛkt] 禁止

  </rule> # 目前是5行為一個規則

firewalld 端口映射

firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toaddr=172.17.0.2:toport=80

                                                           # 将本機的80端口映射到内網 80

                                                           # add 增加;     remove 删除

iptables 端口管理  

yum install iptables-services -y             # 安裝更新 iptables

sed -i "/3306/d" /etc/sysconfig/iptables 

                                                           # 清除3306端口規則

 iptables -L -n --line-number ;            # 檢視開放的端口

iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 添加進端口

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT # 添加出端口

iptables -L -n  --line-numbers # 檢視已有規則并顯示編号

iptables -D INPUT 2 # 删除編号為2進規則

# OUTPUT 出規則

service iptables status # 檢視狀态

systemctl start iptables.service  #啟動防火牆

systemctl enable iptables.service  #設定開機自啟動

systemctl stop iptables.service  #關閉防火牆

systemctl disable iptables.service #禁止開機啟動

iptables -F

iptables -X

iptables -Z                     # 清除防護牆

systemctl restart iptables;             # 重新開機防火牆删除配置

iptables -A INPUT -p tcp --dport 9090 -j ACCEPT

                                                     # 添加進端口

yum install -y iptables-services      # 安裝 iptables

service iptables save                      # 儲存防火牆最新配置,前提:安裝:iptables-services 

iptables -I INPUT -s 180.76.164.15 -p TCP --dport 22 -j DROP

# 禁止此ip通路22端口

# 允許通路,将DROP 改為:ACCEPT

iptables -L -n -v # 檢視已添加的iptables規則

iptables 相關資料:

https://cloud.tencent.com/developer/article/1480230

firewall 開放端口

yum install -y firewalld

firewall-cmd --query-port=8081/tcp # 先檢視端口是否開放

# 開放端口8022

systemctl restart firewalld # 重新開機防火牆

繼續閱讀