码迷,mamicode.com
首页 > 其他好文 > 详细

iptables

时间:2021-04-10 13:26:02      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:tables   restart   输出   修改ip   cep   lang   loading   ash   put   

iptables

iptables 是用户空间的命令行工具,真正实现包过滤,转发,地址转化的 netfilter 模块

iptables 表链关系

表/链 prerouting input output forward postrouting
raw
mangle
nat centos7
filter

表功能释意

raw 	取消nat表的追踪机制
mangle 	拆解报文,重新封装数据包
nat	地址装换
filter 	包过滤

iptables 数据包流转流程示意图
技术图片

以centos7 为例一步步学些iptables

#centos7 安装iptables
#iptables 默认已经安装,只需要安装iptables-services
yum install iptables iptables-services -y

systemctl disable firewalld
systemctl stop firewalld
systemctl start iptables
systemctl enable iptabes

基础命令

1. 查

iptables -t filter -L INPUT
iptables -t filter -nL INPUT
iptables -t filter -vnL INPUT
iptables -t filter -xvnL INPUT
iptables -t filter --line-number -xvnL INPUT

2. 增

添加单个源地址

iptables -t filter -A INPUT -s 192.168.0.109 -j ACCEPT
iptables -t filter -I INPUT 1 -s 192.168.0.109 -j ACCEPT

添加多个源地址

iptables -t filter -A INPUT -s 192.168.0.1,192.168.0.109 -j ACCEPT
iptables -t filter -I INPUT 1 -s 192.168.0.0/24 -j ACCEPT

源地址不是192.168.0.0/24 的被拒绝,没有明确指明192.168.0.0/24 匹配的规则,因此走默认规则

iptables -t filter -I INPUT ! -s 192.168.0.0/24 -j REJECT

匹配目标地址

源地址不是192.168.0.0/24 且目标地址不是192.168.0.111的被drop

iptables -t filter -I INPUT ! -s 192.168.0.0/24 ! -d 192.168.0.111 -j DROP

匹配协议

icmp

iptables -t filter -I INPUT -s 192.168.0.0/24 -d 192.168.0.111 -p ICMP -j REJECT

tcp

iptables -t filter -I INPUT -s 192.168.0.0/24 -d 192.168.0.111 -p tcp -j REJECT

udp

iptables -t filter -I INPUT -s 192.168.0.0/24 -d 192.168.0.111 -p udp -j REJECT

指定输入网卡,只能在 prerouting input forward 链

iptables -t filter -I INPUT -s 192.168.0.0/24 -i ens33 -p ICMP -j REJECT

指定输出网卡 只能在 output forward postrouting 链

iptables -t filter -I POSTROUTING -s 192.168.0.0/24  -o ens33 -p ICMP -j REJECT

指定目标端口

iptables -t filter -I INPUT -p tcp -m tcp ! --dport 22 -j REJECT

指定源端口

iptables -t filter -I INPUT -p tcp -m tcp ! --sport 59771 -j ACCEPT

指定离散的端口

iptables -t filter -I OUTPUT -d 192.168.1.146 -p udp -m multiport --sports 137,138 -j REJECT
iptables -t filter -I INPUT -s 192.168.1.146 -p tcp -m multiport --dports 22,80 -j REJECT

3. 改

修改iptables 规则

iptables -t filter -R INPUT 1 -s 192.168.0.0/24 -p ICMP -j REJECT

修改默认规则

iptabLes -t filter -P INPUT DROP

4. 删

删除规则

iptables -t filter -D INPUT -s 192.168.0.0/24 -p ICMP -j REJECT

删除规则

iptables -t filter -D INPUT 1

清空规则

iptables -F
iptables -t filter -F
iptables -t filter -F INPUT

保存规则到/etc/sysconfig/iptables

方式一

service iptables save
systemctl restart iptables 

方式二

iptables-save > /etc/sysconfig/iptables
iptables-load < /etc/sysconfig/iptables

iptables

标签:tables   restart   输出   修改ip   cep   lang   loading   ash   put   

原文地址:https://www.cnblogs.com/wangend/p/14639305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!