日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iptables(下)规则

發布時間:2023/12/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iptables(下)规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

iptables安裝

停止并禁止開機自啟firewalld服務

systemctl stop firewalld && systemctl disable firewalld

檢查是否安裝了iptables

rpm -q iptables

沒有安裝,可以安裝iptables

yum install -y iptables

升級iptables

yum update iptables

iptables的語法規則

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 -P INPUT REJECT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
設置默認規則的語法

iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
-P :定義默認規則( Policy )。注意,這個 P 為大寫
ACCEPT :該數據包可接受
DROP :該數據包直接丟棄,不會讓 client 端知道為何被丟棄。

一般規則

例如
允許ping

iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT

關于 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 -i eth0 -p tcp -s 192.168.1.0/24 \ --sport 1024:65534 --dport ssh -j ACCEPT

關于狀態的規則

語法
iptables -A INPUT [-m state] [–state 狀態]
-m :一些 iptables 的外掛模塊,主要常見的有:
state :TCP 狀態模塊
mac :網卡的 mac 地址 (hardware address)
–state :一些數據包的狀態,主要有:
INVALID :無效的數據包,例如資料破損的數據包狀態
ESTABLISHED:已經連線成功的連線狀態;
NEW :想要新建立連線的數據包狀態;
RELATED :這個最常用!表示這個數據包是與我們主機發送出去的數據包有關

例如
只要已建立或相關數據包就予以通過,只要是不合法數據包就丟棄

iptables -A INPUT -m state \ --state RELATED,ESTABLISHED -j ACCEPTiptables -A INPUT -m state --state INVALID -j DROP

保存規則

想要保存策略,需要安裝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 = 0

DNET目標地址轉換(或者端口轉發)

將訪問本機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(下)规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。