iptables(下)规则
iptables安裝
停止并禁止開機自啟firewalld服務
systemctl stop firewalld && systemctl disable firewalld檢查是否安裝了iptables
rpm -q iptables沒有安裝,可以安裝iptables
yum install -y iptables升級iptables
yum update iptablesiptables的語法規則
iptables 至少有三個預設的 table (filter, nat, mangle),較常用的是本機的 filter 表, 這也是默認的表。
查看規則
iptables [-t tables] [-L] [-nv](也可以使用iptables-save)
-t :后面接 table ,例如 nat 或 filter ,若省略此項目,則使用預設的 filter
-L :列出目前的 table 的規則
-n :不進行 IP 與 HOSTNAME 的反查,顯示結果的速度會快很多!
-v :列出更多的信息,包括通過該規則的數據包總位元數、相關的網路接口等
例如查看nat表的規則
iptables -t nat -nL
[root@ll ~]# iptables -t nat -nL Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:90 to:80.0.0.0 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:90 to:80.0.0.0Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination- Chain 就是鏈
- policy 就是默認的規則
- target:代表進行的動作, ACCEPT 是放行,而 REJECT 則是拒絕,此外,還有 DROP (丟棄) 的項目!
- prot:代表使用的數據包協議,主要有 tcp, udp 及 icmp 三種數據包格式;
- opt:額外的選項說明
- source :代表此規則是針對哪個『來源 IP』進行限制
- destination :代表此規則是針對哪個『目標 IP』進行限制
清除規則
iptables [-t tables] [-FXZ]
選項與參數:
-F :清除所有的已設置的規則;
-X :殺掉所有用戶 “自定義” 的 chain;
-Z :將所有的 chain 的計數與流量統計都歸零
此命令不會清除默認的規則(默認規則就是處理沒有符合到任何一個規則的數據包的策略。)
設置規則
以下規則是生產環境下使用的默認規則
就是將進入本機的數據包默認是拒絕的,出去的數據包和需要轉發的數據包都是放行的。
設置默認規則的語法
iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
-P :定義默認規則( Policy )。注意,這個 P 為大寫
ACCEPT :該數據包可接受
DROP :該數據包直接丟棄,不會讓 client 端知道為何被丟棄。
一般規則
例如
允許ping
關于 LOG
LOG 這個動作僅僅用于記錄,并且不會影響這個數據包的其他規則的比對
就是把符合規則的數據包記錄到 /var/log/messages 日志中
iptables -A INPUT -s 192.168.1.100 -j LOG
關于 TCP 和 UDP 的規則
語法
iptables [-AI 鏈] [-io 網絡接口] [-p tcp,udp]
[-s 來源 IP/網段] [–sport 端口范圍]
[-d 目標 IP/網段] [–dport 端口范圍]
-j [ACCEPT;DROP;REJECT]
例如
只允許 192.168.1.0/24 網段的 1024到65534 端口訪問本機的 22 端口
關于狀態的規則
語法
iptables -A INPUT [-m state] [–state 狀態]
-m :一些 iptables 的外掛模塊,主要常見的有:
state :TCP 狀態模塊
mac :網卡的 mac 地址 (hardware address)
–state :一些數據包的狀態,主要有:
INVALID :無效的數據包,例如資料破損的數據包狀態
ESTABLISHED:已經連線成功的連線狀態;
NEW :想要新建立連線的數據包狀態;
RELATED :這個最常用!表示這個數據包是與我們主機發送出去的數據包有關
例如
只要已建立或相關數據包就予以通過,只要是不合法數據包就丟棄
保存規則
想要保存策略,需要安裝iptable的服務
yum install -y iptables-services啟動服務
systemctl start iptables.service之后使用 iptables-save > /etc/sysconfig/iptables 命令講當前的規則保存網絡地址轉換開啟防火墻主機的路由功能
echo "1" > /proc/sys/net/ipv4/ip_forward sysctl -a | grep ip_forward net.ipv4.ip_forward = 1 net.ipv4.ip_forward_use_pmtu = 0DNET目標地址轉換(或者端口轉發)
將訪問本機1000端口的數據包轉發到192.168.100.10服務器的22端口
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport1000 -j DNAT --to-destination 192.168.100.10:22總結
以上是生活随笔為你收集整理的iptables(下)规则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 循环贷账户是什么
- 下一篇: ansible(自动化运维上)——ans