<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # iptables常規命令實戰 [TOC] ## 一、iptables參數簡介 ### 1. 清理參數 ```sh -F 清除所有規則,不會處理默認規則 -X 刪除用戶自定義的鏈 -Z 鏈的計數器清零 ``` ### 2. 查詢顯示參數 ```sh -n 以數字形式顯示IP -L 以列表形式顯示所有規則信息 -t 指定表,也可以不指定默認是filter -v 表示顯示詳細規則信息,包含匹配計數器數值信息 --line-number 顯示規則序號信息 ``` ### 3. 配置參數 * 增刪改參數 ``` -t 指定表,也可以不指定默認是filter -A 添加規則到指定鏈的結尾,最后一條 -I 添加規則到指定鏈的開頭,第一條 -D 表示刪除規則從相應鏈上 -R 指定將配置好的規則信息進行替換 ``` * 規則參數 ```sh -P 設置鏈表的默認規則 -p 指定協議(all.tcp,udp.icmp)默認all -s 指定匹配源地址信息 -d 指定匹配目的地址信息 --dport 指定目的端口 --sport 指定源端口 -j 處理的行為[ACCPET接收、DROP丟棄、REJECT拒絕] -i input 匹配進入的網卡接口, 只能配置在INPUT鏈上 -o output 匹配出去的網卡接口, 只能配置在OUTPUT鏈上 ``` * 擴展模塊參數 ```sh -m 使用擴展模塊 -m state 可匹配網絡狀態 -m multiport 可匹配多個不連續的端口 -mlimit --limit n/{second/minute/hour} 限制限定時間包的允許通過數量及并發數 ``` 更多命令可以使用man iptables 或iptables -h ## 二、初始化 ### 1. 啟動 ```sh /etc/init.d/iptables start chkconfig iptables on ``` ### 2. 清除規則 ```sh iptables -F --- 清除防火墻默認規則 iptables -X --- 清除防火墻自定義鏈 iptables -Z --- 清除防火墻技術器信息 ``` ## 三、查看iptables規則 ### 1. status命令 ```sh /etc/init.d/iptables status 表格:filter Chain INPUT (policy ACCEPT) num target prot opt source destination Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination ``` 默認顯示的filter表的規則 ### 2. 常用查詢參數組合 ```sh 1) 列表顯示規則并顯示IP iptables -n -L 2) 指定顯示NAT表相關信息 iptables -t nat -n -L 3) 表示顯示詳細規則信息,包含匹配計數器數值信息 iptables -n -L -v 4) 顯示規則序號信息 iptables -L -n --line-number ``` ## 四、實戰1:常用命令組合 提示:所有操作默認都是正對filter表,所以以下命令中,凡是有[-t filter]命令的,都可以省略 ### 1. 阻止用戶訪問服務器的22端口 ```sh 1) 添加規則 iptables -t filter -A INPUT -p tcp --dport 22 -j DROP 2) 刪除規則 iptables -t filter -D INPUT -p tcp --dport 22 -j DROP iptables -t filter -D INPUT 規則序號 3) 插入規則 iptables -t filter -I INPUT -p tcp --dport 22 -j DROP iptables -t filter -I INPUT 3 -p tcp --dport 22 -j DROP -I參數默認插入最前面,也可指定插入的序號 4) 替換規則 iptables -t filter -R INPUT 6 -p tcp --dport 8080 -j DROP -R參數需指定要替換的規則序號 ``` ### 2. 阻止某網段或主機訪問服務端指定端口服務 ```sh 1) 阻止某網段訪問服務器22端口 iptables -t filter -A INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j DROP 2) 阻止某主機訪問服務器22端口 iptables -t filter -A INPUT -s 10.0.0.9 -p tcp --dport 22 -j DROP 3) 除某主機訪問外,都不能訪問服務器22端口 iptables -t filter -A INPUT ! -s 10.0.0.9 -p tcp --dport 22 -j ACCEPT 使用感嘆號[!]對規則取反 4) 阻止某主機從指定網卡上訪問服務器22端口 iptables -t filter -A INPUT -i eth0 -s 10.0.0.9 -p tcp --dport 22 -j DROP ``` ### 3. 指定阻止訪問多個端口 ```sh 1) 阻止訪問連續的多個端口 iptables -A INPUT -s 10.0.0.9 -p tcp --dport 22:80 -j DROP 2) 阻止訪問不聯系的多個端口 iptables -A INPUT -s 10.0.0.9 -m multiport -p tcp --dport 22,24,25 -j DROP -m 使用擴展模塊. multiport->可以匹配多個不連續端口信息 ``` ## 五、實戰2:組合操作 ### 1. 服務器禁ping 實現ping功能測試鏈路是否正常,基于icmp協議實現的,icmp協議有多種類型:主要關注如下兩個 * icmp-type 8:請求類型 * icmp-type 0:回復類型 ```sh 1) 禁止主機訪問防火墻服務器(禁ping) iptables -A INPUT -p icmp --icmp-type 8 -j DROP iptables -A OUTPUT -p icmp --icmp-type 0 -j DROP 2) 禁止防火墻訪問主機服務器(禁ping) iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP iptables -A INPUT -p icmp --icmp-type 0 -j DROP 3) 所有icmp類型都禁止 iptables -A INPUT -p icmp -m icmp --icmp-type any -j DROP iptables -A OUTPUT -p icmp -m icmp --icmp-type any -j DROP ``` ### 2. 實現防火墻狀態機制控制[FTP] * 鏈接狀態 ```sh NEW: 發送數據包里面控制字段為syn=1,發送第一次握手的數據包 ESTABLISHED: 請求數據包發出之后,響應回來的數據包稱為回復的包 RELATED: 基于一個連接,然后建立新的連接 INVALID: 無效的的數據包,數據包結構不符合正常要求的 ``` * 控制命令 ```sg iptables -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT ``` ### 3. 限制指定時間包的允許通過數量及并發數 * 知識點: ```sh -m limit --limit n/{second/minute/hour} 指定時間內的請求速率“n”為速率,后面為時間分別為:秒、分、時 -m --limit-burst [n] 在同一時間內允許通過的請求“n”為數字,不指定默認為5 ``` * 控制命令 ```sh iptables -I INPUT -s 10.0.1.0/24 -p icmp --icmp-type 8 -m limit --limit 5/min --limit-burst 2 -j ACCEPT ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看