运维技术分享平台

 找回密码
 立即注册
首页
查看: 1073|回复: 0

iptables

[复制链接]

7

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2020-5-6 22:58:32 | 显示全部楼层 |阅读模式
iptables和firewalld都是基于netfilter内核模块实现的客户端工具。

一.Iptables四表五链:
1.iptables的四表:raw(状态跟踪),mangle(标记),nat(修改),filter(过滤)
Raw:主要提高效率,所有经过的数据包都会跳过一些检查。
Mangle:可以对数据包进行修改,比如修改ttl值。
Nat:一般在网关上使用该表,进行原地址或目标地址转换。
Filter:可以过滤数据包的IP地址,mac地址,协议,端口,对数据包进行控制。
2.iptables五个规则链:
INPUT(入站),OUTPUT(出站),FORWARD(转发),PREROUTING(路由前),POSTROUTING(路由后)
3.表内默认包含的链:
raw:PREROUTING,OUTPUT
mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat:PREROUTING,POSTROUTING,OUTPUT
filter:INOUT,FORWARD,OUTPUT
4.iptables数据流程:
链:入站数据流向:PREROUTING,INPUT
出站数据流向:OUTPUT,POSTROUTING
转发数据流向:PREROUTING,FORWARD,POSTROUTING
表:raw—mangle—nat—filter
总结:链内规则匹配顺序:从上到下,匹配即停止,未匹配则使用默认规则。

二.编写iptables规则:
语法:iptables –t 表名 选项 链名 条件 –j 动作
注意:如不指定表名则默认是filter表,如不指定链名默认是所有链。默认规则是允许所有,可以更改。选项,链名,动作必须大写,其他小写。
1.选项:可对链中的规则进行增删改查:
增:-A:在链的末尾添加,-I:在链的指定位置添加,需指定序号,否则默认作为第一条
例子:iptables –t filter –I INPUT 2
删:-D:删除一条规则,-F清空链内所有规则。例子:iptables –t filter –D INPUT 2
查:-L –n:查看规则,-L –n –v:查看更加详细,-L –n --line-number:显示规则的行号。
2.修改默认规则:iptables –t filter –P INPUT DROP或ACCEPT
3.条件:通用的几种条件:
-p协议:常用的协议有ICMP, TCP, UPD协议
-s原地址:控制原地址的访问,网段书写格式:192.168.1.0/24  
-d目的地址:控制目的地址的访问 ###谁访问的我他就是源地址,我是他的目的地址。
-i入站网卡名:控制入站的数据
-o出站网卡名:控制出站的数据
注意:编写规则时要判断主机数据的流向,如INPUT入站链只能用-i入站网卡。
隐含条件:端口:-p 协议 –dport 目的端口    -p 协议 –sport 源端口
多端口:-m multiport –p tcp或udp --dport 端口号 指定多个端口,连续11:22,否11,22。
mac地址:-m mac –mac-source MAC地址 ##MAC地址中用:隔开,指定源mac地址。
Ip地址范围:-m iprange –src-range 192.168.1.1-192.168.1.20 ##指定IP地址范围是源地址
数据包的状态:-m state –state NEW,ESTABLISHED,RELATED
NEW:新建  ESTABLISHED:已建立的连接   RELATED:和已建立连接相关的。
例子:默认规则为DROP并且没有允许SSh的22端口,但是如果允许已建立的连接,ssh就不会断开,可以使用ss命令查看当前的连接。

一.SNAT源地址转换:
1.原理:在POSTROUTING路由后链将内网ip发布到外网ip的地址上。
2.应用场景:共享内部主机上网,在网关主机上设置。
设置SNAT:
1,开启路由转发功能:sed –i ‘/ip_forward/s/0/1/g’ /etc/sysctl.conf
2,加载配置文件:sysctl –p
编写规则:
(一).Iptables –t nat –I POSTROUTING –o 外网网卡 –s 内网网段/24 –j SNAT –to-source 外网网卡的IP地址     ####适用于公网ip固定的环境。
(二).Iptables –t nat –I POSTROUTING –o 外网网卡 –s 内网网段/24 –j MASQUERADE
    使用于网关服务器外网网卡地址不是固定的环境。
注意:做好安全控制,使用FORWARD严格控制转发。

二.DNAT目的地址转换:
1.原理:在PREROUTING路由前将来自外网访问公司网关时将请求转发到内网的服务器上。
2.应用场景:发布内网服务器到公网。
设置DNAT:
注意:设置DNAT前先设置SNAT,保证内部主机和内部服务器可以上网。
编写规则:
Iptables –t nat –I PREROUTING –i 外网网卡 –d 外网的IP地址 –p tcp –dport 发布的端口 –j DNAT –to-destination 内网服务器ip地址
将内网服务器发布到网关主机的外网IP地址对应的端口,后边的端口可以省略。
测试:外网客户端访问外网网关IP地址,是否能访问到公司内网。











回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

首页

手机版|关于自己|运维技术分享平台

GMT+8, 2024-12-22 20:08 , Processed in 0.067635 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表