当前位置:   article > 正文

iptables 使用与简单示例_iptables v1.4.21

iptables v1.4.21

目录

前言

一,iptabls基础命令

1.1 启动

1.2 停止

1.3 重新启动

1.4 重新加载启动

1.5 帮助命令

1.6 保存

1.7 查看规则链

1.7.1 查看filter表规则链的INPUT(可以理解为“进入”规则)

1.7.2 查看filter表规则链的OUTPUT(可以理解为“出去”规则)

1.7.3 列出nat表三条链的规则

1.7.4 清除所有已制定的规则

1.7.5 删除所有使用者自定义chain

1.7.6 将所有的 chain 的计数与流量统计都清零

1.7.7 删除INPUT链

1.8 查看iptables是否生效

二,常用命令与讲解

2.1 开放80端口

2.2 开放22端口

2.3 封单个IP

2.4 替换指定的规则

2.5 网卡规则

2.6 封单个段IP

2.7 允许特定的IP访问

#语法

2.8 NAT规则

2.8.1 端口射映

2.8.2 删除nat规则

2.9 规则的导出、导入(备份与还原)

三,总结


前言

就”firewall“而言“iptables”算的上是老古董了。

iptables 是 Linux 管理员用来设置 IPv4 数据包过滤条件和 NAT 的命令行工具。

在这里需要注意的是“iptables可以阻止所有我指定网络服务器的流量,还是可以通过 IPv6 进行的外部攻击”,有两种办法来解决:

1.用“iptables”来禁用ipv6。

2.通过ip6tables来设置规则。

好啦开始正文吧! 简单看完你还不会就再看看!实在还不会就去看官方介绍!

这里我将介绍iptables v1.4.21如何配置 Filter 表防火墙配置 NAT 表防火墙

一,iptabls基础命令

1.1 启动
service iptables start

如果你不是老版的linux话使用上面命令会提示使用“systemctl”命令来启动如图1

systemctl start iptables
图1
1.2 停止
  1. ##老版
  2. service iptables stop
  3. ##新版
  4. systemctl stop iptables
1.3 重新启动
  1. ##老版
  2. service iptables restart
  3. ##新版
  4. systemctl restart iptables
1.4 重新加载启动
  1. ##新版
  2. systemctl reload iptables
1.5 帮助命令

话说我们实在不记得怎么使用语法我就寄出帮助大法!如图2 它讲解了怎么使用和语法

iptables -h
图2
1.6 保存

这里我们在修改规则后最后的一步操作保存

  1. service iptables save
  2. ##保存
  3. iptables-save
  4. #保存防火墙策略规则及数据包计数器信息
  5. iptables-save -c
  6. #仅保存防火墙策略中指定的表单内容
  7. iptables-save -t filter

##------------------------------------------------扩展---------------------------------------------

##在使用“iptables”命令中另一种运行方式:

##我们可以先查看“iptables”工具的目录如图3

## whereis 命令从英文看出他的含义是在哪?查找关联工具目录

whereis iptables

图3
1.7 查看规则链

查看所有规则如图4:

iptables --list
图4

##在图4我们可以看到

filter表中有三个链INPUT,OUTPUT,FORWARD,这表是用来过滤数据包的。

1.7.1 查看filter表规则链的INPUT(可以理解为“进入”规则)
iptables -t filter -L INPUT

#我们可看出图4中的INPUT链与如图5中一样,这是因为在iptables默认是filter表。

图5
1.7.2 查看filter表规则链的OUTPUT(可以理解为“出去”规则)
iptables -t filter -L OUTPUT
1.7.3 列出nat表三条链的规则
iptables -t nat -L -n

如图6

图6

##语法

iptables [-t tables] [-L] [-nv]

-t :后面接 table ,例如 nat 或 filter (不使用”-t“默认使用 filter表)。
-L :列出某个 table 的所有链或某个链的规则。
-n :直接显示 IP。
-v :列出更多的信息,包括通过该规则的数据包总位数、相关的网络接口等。

1.7.4 清除所有已制定的规则
iptables -F
1.7.5 删除所有使用者自定义chain
  1. ##删除fliter表中ACCOUNRT链
  2. iptables -X ACCOUNRT
1.7.6 将所有的 chain 的计数与流量统计都清零
iptables -Z
1.7.7 删除INPUT链

假设删除第1行规则:

iptables -D INPUT 1
1.8 查看iptables是否生效
iptables -L

二,常用命令与讲解

2.1 开放80端口
  1. iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  2. iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
  1. service iptables save
  2. ##保存
  3. iptables-save
2.2 开放22端口
  1. iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  2. iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
  3. ##保存
  4. service iptables save
  5. ##保存
  6. iptables-save

##查看配置文件可以看到如图7前面放行端口。

vim /etc/sysconfig/iptables.save
图7
2.3 封单个IP
iptables -I INPUT -s 192.168.1.199 -j DROP
2.4 替换指定的规则

假设我需要替换filter表中的第2行规则

iptables -R INPUT 2 -s 192.168.1.188 -j REJECT
2.5 网卡规则

这里我以eth0网卡为例拒绝172.20.10.3主机访问我的eth0网卡

iptables -A INPUT -s 172.20.10.3 -i eth0 -j REJECT

这里A主机(172.20.10.3)访问B主机(192.168.179.143)在没有设置规则情况下A主机pingB主机如图8可以正常ping。

图8

B主机开始设置规则:

  1. iptables -A INPUT -s 172.20.10.3 -i eth0 -j REJECT
  2. ##保存
  3. iptables-save
2.6 封单个段IP
iptables -I INPUT -s 192.168.1.0/24 -j DROP
2.7 允许特定的IP访问
iptables -I INPUT -s 192.168.1.199 -p TCP –dport 3389 -j ACCEPT

这里允许特定192.168.1.199IP访问3389端口

#语法

iptables [-AI chain] [-io interface] [-p tcp,udp] [-s 来源 IP] [--sport 端口范围] [-d 目标 IP] [--dport 端口范围] -j [ACCEPT,DROP,REJECT]

 -A, --append :用来添加“INPUT或者“OUTPUT”规则

 -I               :  表示在指定的链中插入一条规则,可以指定编号;

 -i               :   数据包从哪个网卡进入   如如:-i eth0 表示eth0网卡 

-o, --out-interface         : 数据包从哪个网卡出去

--sport, --source-port    :sport表示来源端口 

--dport, --destination-port :dport表示目的端口

--sport:限制来源的端口号
--dport:限制目标的端口号

-s : 表示能访问的ip 如“-s 192.168.1.199” 就是这个IP能进入

-d :目标 IP

-j :如-j ACCEPT表示接受(进入),-j REJECT表示拒绝访问并回送一个数据包,

        -j DROP 拒绝所有人访问服务器

-R :替换指定的规则

2.8 NAT规则
2.8.1 端口射映

这里我们把本地8080端口射映出去变成8081端口

  1. iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8080 -j DNAT --to-destination 127.0.0.1:8081
  2. iptables -t nat -A POSTROUTING -p tcp -m tcp --dport 8080 -j SNAT --to-source 127.0.0.1
2.8.2 删除nat规则
ptables -t nat -D POSTROUTING 1
2.9 规则的导出、导入(备份与还原)

有时候需要把iptables规则导出在其他主机使用

这里导出在我的/home/demo目录里(导出/etc/sysconfig/iptables文件也是一样)

iptables-save > /home/demo/iptables_backup.txt

在还原到其他同主机我们先通过scp 复制到主机“/home/demo2”目录上

iptables-restore < /home/demo2/iptables_backup.txt

再重启即可生效

systemctl restart iptables

三,总结

想到了在慢慢编辑,写的有点匆忙。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号