iptables总结

iptables总结
1 iptables 分为三条链表 filter nat mangle
iptables -L 清除默认链表规则
iptables -X 清除自定义链表规则
iptables -Z 清除所以的chain的计数与流量统计
此三条清除规则不会清除policy默认规则
iptables -t nat -P PREROUTING -j DROP

2 iptables -A/I -i/o -s -d -p 协议 -j DROP/ACCERP
-i 网络接口:设置数据包进出的接口规范
-o 数据包传出的那个网络接口,需要与OUTPUT链配合
<wbr>-s 192.168.0.0/24 也可以使用<wbr>! 非某个IP</wbr></wbr>
iptables -I -d 192.168.10.22 --dport 80:100
(80-100之间的端口)
--
iptables -I INPUT -m state --state状态参数
-m:一些iptables的模块,主要常见的有:
state:状态模块
mac:网卡硬件地址
--state: 一些数据包的状态,主要有
INVALID:无效的数据包,例如数据破损的数据包状态
ESTABLISHED:已经联机成功的联机状态
NEW:想要新建立联机的数据包状态
RELATED:这个最常用,表示数据包与我们主机发送出去的数据包有关
范例1:只要是联机成功的数据包或与已发出去请求的相关的数据包就予以通过,不合法的数据包就丢弃
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
范例2: 只接受来之mac指定的机器
iptables -A INPUT -m mac --mac-source aa:cc:bb:dd:ee:ff -j ACCEPT

ICMP
iptables -A INPUT -p icmp --icmp-type 类型 -j ACCEPT
--icmp-type:后需要接ICMP的数据包类型,也可以使用代号
例如8代表echo request的意思
icmp-type数据包的类型格式都是进行网络监测用的,所以最好不要将所以的ICMP的数据包都丢弃。通常我们会包ICMP type8(echo request)拿掉,让主机不知道我们是否存在,也不接受ping的响应。例如不让对方ping
iptables -A INPUT -p icmp --icmp-type 8 -j DROP

iptables-save > filename 保存规则
iptables-restore < filename 导入规则

本服务器端口转发
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
<wbr></wbr>
把IP210.44.160.32出口时的IP转换为IP 124.128.217.120
iptables -t nat -A POSTROUTING -s<wbr>210.44.160.32 -p tcp -m tcp --dport 25<wbr>-j SNAT --to-source 124.128.217.120</wbr></wbr>

封关键字
iptables -P INPUT DROP
iptables -P OUTPUT DROP/ACCEPT
iptables -P FORWARD DROP
iptables -F 清楚所有的已定规则
<wbr><wbr><wbr><wbr><wbr> -X 清除所有用户“自定义”的链<br><wbr><wbr><wbr><wbr><wbr> -Z 将所有的chain的的计数与流量统计都归零</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
端口:
<wbr><wbr>1到1023一般为远程访问本机所开放的本机端口<br><wbr><wbr>1024-65535为本机访问远程服务器所开放的本机端口</wbr></wbr></wbr></wbr>
OUTPUT<wbr><wbr>从本机访问远程的本机出去端口1024:65535 (本机出去的端口)<br> INPUT<wbr><wbr><wbr>远程机器到本机的端口1(进来本机的端口)</wbr></wbr></wbr></wbr></wbr>

本机连到远程主机的22端口,需要针对两个规则来设置:
<wbr>本机端的1024:65535到远程的端口22需要放行(OUTPUT链)<br><wbr>远程主机端口22到本机的1024:65535必须放心(INPUT链)</wbr></wbr>
远程主机IP 192.168.10.12
本机IP:<wbr><wbr>192.168.10.200<br> iptable -I INPUT -s 192.168.10.12 -j DROP<br> 此规则意思是:INPUT指从外部访问本机,-s也以为着外部 -d指的就是本机了 --sport 外来的端口,--dport本机的端口</wbr></wbr>

OUTPUT 指的是从本机访问外部机器,-s指的是本机 -d目的就是外部机器了, --sport 本机的端口 --dport外部计算机的端口
由于1024-65535端口是双向的,看如下规则:
iptables -I OUTPUT -s 192.168.10.12 -p tcp --dport 22 -j DROP
此规则解释:外部ip12访问本机机器,目的端口指的是本机端口22被封掉,但本机可以ssh ip12机器,其他机器也可以ssh本机。
就是外来的机器12到本机的22端口被封掉
iptables -I OUTPUT -s 192.168.10.12 -p tcp -sport 22 -j DROP
--sport在OUTPUT链里只的是从外部ip12到本机的端口,就是12的端口22被禁止了,所以12可以访问本机,而本机不能ssh 12机器。
iptables -I INPUT -s 来访问的ip -p tcp --dprot 22 -j ACCEPT

iptables -I FORWARD -s 172.16.0.0/16 -m string --string "xxx.com" -j DROP
iptables -A FORWARD -m string --algo bm --string "基金" -j DROP
限速
iptables -I FORWARD -s 192.168.10.124 -m limit --limit 120/sec -j ACCEPT
iptables -I FORWARD -s 192.168.10.124 -j DROP
封端口
iptables -I FORWARD -s 192.168.10.124 -p tcp --dport 80 -j DROP
iptables -I INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -I INPUT -i -eth1 -s 192.168.10.0/24 -j ACCEP
iptables -I INPUT -m mac --mac-source **:**:**:**:**:**:** -j ACCEPT
iptables -I INPUT -m state --state RELATED(表示数据包与我们主机发送出去的数据包有关),ESTABLISHED -j ACCEPT
ESTABLISHED:已经联机成功的联机状态
iptables -I INPUT 2 -m state --state INVALID(无效的数据包) -j DROP
iptables -I INPUT -p TCP -i eth0 --dport 22 -j ACCEPT(到eth0网卡的22端口打开,远程可以通过eth0ssh本机)
iptables -I INPUT -p TCP -i eth0 --sport 53 -j ACCEPT (允许本机访问外面的53端口,即可以打开外面域名解析)
iptables -I INPUT -p TCP -i eth0 --dport 80(http) -j ACCEPT<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br> iptables -I INPUT -p TCP -i eth0 --dport 110(POP3) -j ACCEPT<br> iptables -I INPUT -p TCP -i eth0 --dport 443(https) -j ACCEPT</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
iptables -t nat -A PREROUTING -p tcp -i eth0(连接公网网卡) --dport 80 -j DNAT --to 192.168.10.124:80
SNAT:内部访问外面,把LANip转换成公网IP,
DNAT:外部访问LAN主机,把公网IP转换到LANip上面
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to 192.168.10.124:80
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值