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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 防火墙工具--iptables

發(fā)布時(shí)間:2025/3/21 linux 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 防火墙工具--iptables 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

iptables介紹

iptables是基于內(nèi)核的防火墻,功能非常強(qiáng)大,iptables內(nèi)置了“三表五鏈”

????三張表

????1.filter ????定義允許或者不允許的

????2.nat ???? ?定義地址轉(zhuǎn)換的?

? ? ?3.mangle???? 修改報(bào)文原數(shù)據(jù)

????五個(gè)規(guī)則鏈

????1.PREROUTING (路由前)

????2.INPUT (數(shù)據(jù)包流入口)

????3.FORWARD (轉(zhuǎn)發(fā)管卡)

????4.OUTPUT(數(shù)據(jù)包出口)

????5.POSTROUTING(路由后)

? 對(duì)于filter來講只能做在3個(gè)鏈上:INPUT ,FORWARD ,OUTPUT

? 對(duì)于nat來講只能做在3個(gè)鏈上:PREROUTING ,OUTPUT ,POSTROUTING

? 對(duì)于mangle來講5個(gè)鏈都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING


iptables寫法及參數(shù)

iptables [-t 表名] 命令選項(xiàng) [鏈名] [條件匹配] [-j 動(dòng)作或跳轉(zhuǎn)]

所有鏈名必須大寫,表名必須小寫,動(dòng)作必須大寫,條件匹配必須小寫

常用參數(shù):

????-A????向規(guī)則鏈中添加一條規(guī)則,默認(rèn)被添加到末尾

? ? ?-T????指定要操作的表,默認(rèn)是filter

????-D????從規(guī)則鏈中刪除規(guī)則,可以指定序號(hào)或者匹配的規(guī)則來刪除

????-R????進(jìn)行規(guī)則替換

????-I????插入一條規(guī)則,默認(rèn)被插入到首部

????-F????清空所選的鏈,重啟后恢復(fù)

????-N????新建用戶自定義的規(guī)則鏈

????-X????刪除用戶自定義的規(guī)則鏈

????-p????用來指定協(xié)議可以是tcp,udp,icmp等也可以是數(shù)字的協(xié)議號(hào),

????-s????指定源地址

????-d????指定目的地址

????-i????進(jìn)入接口(網(wǎng)卡)

????-o????流出接口(網(wǎng)卡)

????-m????多狀態(tài)

????-j????采取的動(dòng)作,accept,drop,snat,dnat,masquerade

????--sport ?源端口

????--dport ?目的端口,端口必須和協(xié)議一起來配合使用

觸發(fā)動(dòng)作:(-j后面)

????ACCEPT????允許數(shù)據(jù)包通過

????DROP???? ?丟棄數(shù)據(jù)包

????REJECT????拒絕數(shù)據(jù)包通過

????LOG???? ?將數(shù)據(jù)包信息記錄到syslog日志

????DNAT???? ?目標(biāo)地址轉(zhuǎn)換

????SNAT???? ?源地址轉(zhuǎn)換

????MASQUERADE????地址欺騙

? ? ?REDIRECT????重定向


iptables示例

基本操作

????iptables -L? ????列出iptables規(guī)則
????iptables -F? ????清除iptables內(nèi)置規(guī)則
????iptables -X? ????清除iptables自定義規(guī)則

配置ssh登錄規(guī)則

????iptables -A INPUT -p tcp --dport 22 -j ACCEPT
????iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

只允許192.168.0.100的機(jī)器進(jìn)行SSH連接

iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT

目的地址轉(zhuǎn)換,映射內(nèi)部地址

iptables -t nat -A PREROUTING -i eth0 -p tcp --dprot 81 -j DNAT --to 192.168.0.2:80

源地址轉(zhuǎn)換,隱藏內(nèi)部地址

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1

開啟轉(zhuǎn)發(fā)功能

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 只允許已建連接及相關(guān)鏈接對(duì)內(nèi)轉(zhuǎn)發(fā)
ptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 允許對(duì)外轉(zhuǎn)發(fā)

過濾某個(gè)MAC

iptables -A FORWARD -m mac --mac -source MAC地址 -j DROP

數(shù)據(jù)包整流

iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j DROP

一次匹配多個(gè)端口

iptables -A INPUT -p tcp -m muliport --dport 21,22,25,80,110 -j ACCEPT

丟棄非法連接

iptables -A INPUT ?-m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables-A FORWARD -m state --state INVALID -j DROP


實(shí)例

1 將192.168.0.1主機(jī)發(fā)送給本機(jī)22端口的所有數(shù)據(jù)記錄到messages日志中

iptables -I INPUT -s 192.168.0.1 -p tcp --dport 22 -j LOG

2 允許任何機(jī)器通過eth1訪問本機(jī)80端口

iptables -I INPUT -i eth1 -p tcp --dport 80 -j ACCEPT

3 公司192.168.0.0/24網(wǎng)段通過128.166.122.1連接外網(wǎng)

echo "net.ipv4.ip_forward = 1" /etc/sysctl.conf

sysctl -p 加載配置

iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 128.166.122.1

4 一個(gè)公有IP128.166.122.1對(duì)外開放,要求內(nèi)部web服務(wù)器192.168.0.1可以被訪問

iptables -t nat -I POSTROUTING -d 128.166.122.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1

5 數(shù)據(jù)包過大,被分切為多個(gè)片發(fā)送,保證數(shù)據(jù)接收后可以組合在一起用-f

iptables -A OUTPUT -f -d 192.168.1.2 -j DROP (丟棄發(fā)送到192.168.1.2上)

6 限制某個(gè)時(shí)間段內(nèi)數(shù)據(jù)包的個(gè)數(shù),超過則拒絕

iptables -I INPUT -m limit --limit 500/sec -j ACCEPT

iptables -P INPUT DROP

7 拒絕轉(zhuǎn)發(fā)含有某些關(guān)鍵字的數(shù)據(jù)連接 --string 拒絕qq的數(shù)據(jù)包

iptables -I FORWARD -m string --algo bm --string "qq" -j REJECT

8 轉(zhuǎn)發(fā)某個(gè)IP段的數(shù)據(jù)包

iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.10 -p tcp --dport 80 -j ACCEPT






轉(zhuǎn)載于:https://blog.51cto.com/superleedo/1886999

總結(jié)

以上是生活随笔為你收集整理的Linux 防火墙工具--iptables的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。