Linux防火墙Centos6的常用命令iptables

一、iptables基础知识

二、作者玩玩的配置文件

  • 文件地址为/etc/sysconfig,文件名为iptables
cd /etc/sysconfig
vim iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT
-A INPUT -s 185.23.234.219/24 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 6666 -j ACCEPT
-A INPUT  -p tcp  -m  multiport --dports  18848,16501:16800  -j  ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

三、iptables中常用的参数以及作用

  • -A 在规则链的末尾加入新规则
  • -d 匹配目标地址
  • –dport num 匹配目标端口号
  • -D num 删除某一条规则
  • -F 清空规则链
  • -j 动作 匹配数据包后执行的动作
  • -I num 在规则链的头部加入新规则
  • -L 查看规则链
  • -m 用于指定扩展模块
  • -i 网卡名称 匹配从这块网卡流入的数据
  • -o 网卡名称 匹配从这块网卡流出的数据
  • -p 匹配协议,如TCP、UDP、ICMP
  • -P 设置默认策略
  • -s 匹配来源地址IP/MASK,加叹号“!”表示除这个IP外
  • –sport num 匹配来源端口号

-j参数的动作类型

  • ACCEPT 允许
  • DROP 丢弃(无响应)
  • REJECT 拒绝(回应请求者明确的拒绝)
  • MASQUERADE 伪装上网使用
  • SNAT 共享地址上网
  • DNAT 目标地址改写

四、安装iptables

yum install iptables-services

五、iptables启动命令

  • 查看防火墙状态
service iptables status
  • 启动防火墙
service iptables start
  • 关闭防火墙
service iptables stop
  • 开机启动防火墙
chkconfig iptables on
  • 开机禁用防火墙
chkconfig iptables off

六、iptables命令结构

iptables [-t table]  command CHAIN [match] [target/jump]
  • [-t table] 用来指定要操作的表。一般情况下不是必须要指定使用的表,因为 iptables 不指定 table 就默认使用 filter 表来执行所有的命令。
  • command 告诉程序该做什么,比如插入一条规则还是追加一条规则,或者是删除一条规则。
  • CHAIN 说明了要操作哪一条链
  • match 来根据包的特点来匹配数据包,其中会细致地描述包的某个特点,比如来源 IP 地址,网络接口,端口,协议类型等,以使这个包区别于其它所有的包。
  • target/jump 说明了对 match 到的数据包做什么操作,或者告诉数据包它应该去往何处。若数据包符合所有的 match,内核就用 target 来处理它,或者说把包发往 target。比如我们可以让内核把包发送到当前表中的其他链(可能是自定义链),或者只是丢弃这个包而没有什么处理,或者向发送者返回某个特殊的应答信息。非常重要的一点是 target 指令必须在最后。

命令例子

iptables -t filter -A INPUT -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT
  • iptables对应iptables
  • -A对应command
  • INPUT对应CHAIN
  • -t filter 对应 [-t table]
  • -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT 对应的是[target/jump]

默认执行方式

  • 不指定表名时,默认指filter表
  • 不指定链名时,默认指定表内的所有链
  • 除非设置链的默认策略,否则必须指定匹配标记
  • 选项、链名、控制类型使用大写字母,其余均为小写

执行iptables命令和写入配置文件两种方式的对比

  • 执行命令立即生效,写入配置文件需要将iptables重启才能生效
  • 直接使用iptables命令修改防火墙配置的时候,防火墙规则只是保存在内存中,重启后就会失效。
  • 如果要使内存的命令保存到配置文件中使用下面这条命令,但是要注意,这个命令会格式化你原来的配置文件,导致你写的注释会丢失。原配置文件会备份命令为iptables-save
    service iptables save
    
  • 执行下面的命令
    iptables -t filter -A INPUT -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT
    
  • 等同于写入配置文件filter表下的这段话
    -A INPUT -s 192.168.2.0/24 -p tcp --dport 22 -j ACCEPT
    
  • 差别,写入配置文件不用写iptables、表名,其他都一样

相对常用的命令

参考文档

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值