iptables操作手册资料_第1页
iptables操作手册资料_第2页
iptables操作手册资料_第3页
iptables操作手册资料_第4页
iptables操作手册资料_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1iptables与firewalld的关系

RHEL7.0以后,使用firewalld服务取代了iptables服务,但是依然可以使

用iptables服务,只是默认不开启了,iptables和firewalld都不是真正的防火

墙,它们都只是用来定义防火墙策略的防火墙管理工具,是操作系统上的一种服

务,将定义好的规则交给内核中的netfilter(网络过滤器)来读取,从而实现防

火墙的功能,firewalld和iptables除了可以可以在inbond和outbond方向

做策略限制以外,还能实现snat和dnat功能。

注意:firewalld和iptables同时只能运行一种服务,否则会出现不可预知

的情况

2iptables安装

RHEL7.0以后,iptables默认不开启,需要安装iptables服务

[root0Server-]#systemctlstatusiptables

iptables.service

Loaded:not-found'Reason:Nosuchfileordirectory)

Active:inactive(dead)

(root@Server7#systemctlstartiptables

Failedtoissuemethodcall:Unitiptables.servicefailedtoload:Nosuchfileordirectory.

[root0Server7#rpm-qaIgrepiptables

iptables-1.4.21-13,el7,x86_64

安装完成后

[rooteServer-]#systemctlstartiptables

[rooteServer-]#rpm-qaIgrepiptables

iptables-1.4.21-13.617.x86_64

iptables-devel-1.4.21-13.el7,x86_64

iptables-services-1.4.21-13.el.7.x86_64

iptables-utils-1.4.21-13.el7,x86_64-

[root0Server-]#systemctlstatusiptables

iptables.service-IPv4firewallwithiptables

Loaded:loaded(/usr/lib/systemd/system/iptables.service;disabled)

Active:active(exited)sinceTue2018-12-2522:11:00EST;28sago

Process:13672ExecStart=/usr/libexec/iptable$/iptables.initstart(code=exited,status=O/SUC

MainPID:13672(code-exited,status-G/SUCCESS]

Dec2522:11:00Serve。systemd[l]:StartingIPv4firewallwithiptables...

Dec2522:11:00Serveriptables.init(13672):iptables:Applyingfirewallrules:(OK]

Dec2522:11:00Serversystemd[1]:StartedIPv4firewallwithiptables.

3实验场景

3.1源地址转换

>需求:

源地址1(172.16.202.15)需要访问公网目的地址

(192.168.111.245),源地址2(172.16.202.16)不需要访问公网。

内网两台服务器,分别为源地址1(172.16.202.15)和源地址2

(172.16.202.16),公网出口处有一台centos7.1的双网卡服务器,

一个接口接内网(172.16.202.14),一个接口接外网

(192.168.111.63\

源地址1上首先需要保证和iptables服务器能够互通,并且有去

往192.168.111.245的路由,路由下一跳需要指向iptables内网接

□(172.16.202.14),由iptables服务器做源nat,把源地址

(172.16.202.15)nat成公网接口地址(192.168.111.63),从而可

以访问目的地址(192.168.111.245\

一、首先在源地址1服务器上配置去往192.168.111.245的路由

iprouteadd192.168.111.245via172.16.202.14〃临时

添加路由,重启网卡或者系统后,路由会丢失,建议做路由固化

路由固化:ffi/etc/sysconfig/network-scripts目录下,新建一

个route配置文件,viroute-ethO,新增一条路由,

192.168.111.245/32via172.16.202.14,重启网卡即可生效

[root@host-172-16-2O2-15-]#ipr

defaultvia172.16.202.254devethGprotostaticmetric10G

(defaultvia192.168.111.254devethlprotostaticmetric161

aevetnuprotokernelscopelinksrciZ2.ib.2U2.15metric100

192.168.111.0/24devethlprotokernelscopelinksrc192.168.111.64metric100

iptables服务器上,配置snat策略

iptables-tnat-APOSTROUTING-s172.16.202.15/32-d

192.168.111.245/32-jSNAT-to192.168.111.63

注释:

-ttabletabletomanipulate(default:'filter')//

这个选项指定命令要操作的匹配包的表。如果内核被配置为自动

加载模块,这时若模块没有加载,系统将尝试为该表加载适合的

模块。这些表如下:filter,这是默认的表,包含了内建的链INPUT

(处理进入的包XFORWARD(处理通过的包)和OUTPUT(处

理本地生成的包X

nat〃这个表被查询时表示遇到了产生新的连接的包,由三个内

建的链构成:PREROUTING(修改到来的包\OUTPUT(修改

路由之前本地的包\POSTROUTING(修改准备出去的包\

-Achain〃在所选择的链末添加规则

POSTROUTING〃先路由再做nat

-s〃源IP地址

-d〃目的IP地址

-jSNAT〃做源地址转换

-to〃转换后的IP地址

此时,从源地址1服务器上去ping192.168.111.245,结果如下:

[root@host-172-16-2Q2-15-]#ping192.168.111.245

PING192.168.111.245(192.168.111,245)56(84)bytesofdata.

From172.16.202.14icmp_seq=lDestinationHostProhibited

From172.16.202.14icmp_seq=2DestinationHostProhibited

From172.16.202.14icmp_seq=3DestinationHostProhibited

From172.16.202.14icmp_seq=4DestinationHostProhibited

From172.16.202.14icmp_seq=5DestinationHostProhibited

From172.16.202.14icmp_seq=6DestinationHostProhibited

From172.16.202.14icmp_seq=7DestinationHostProhibited

From172.16.202.14icmp_seq=8DestinationHostProhibited

F

---192.168.111.245pingstatistics---

8packetstransmitted,0received,+8errors,100%packetloss,time6999ms

提示destinationhostprohibited,说明路由可达,但是在中间

路径上被防火墙阻止了,源地址1本地服务器上,因为是出接口方向

流量,所以默认情况下,不会被阻止,所以只能在iptables服务器

上,被防火墙默认规则阻止了,所以只需要在iptables服务器上放

开防火墙限制即可

三、iptables服务器上放开防火墙规则

前面提到过,iptables上默认的filter表中,分为三个规则链:

INPUT,OUTPUT和FORWARD,其中INPUT负责处理入方向的

包,OUTPUT负责处理本地生成出方向的包,FORWARD负责经过

经过的数据包,从网络拓扑上可以看出来源地址1(172.168.202.15)

去访问目的地址(192.168.111.245),是经过iptables服务器,所

以调用的iptables服务器的FORWARD表,所以只需要在iptables

服务器上FORWARD表中,增加一条规则即可

iptables-IFORWARD-jACCEPT

如果不确定是调用的哪个规则链,也可以在INPUT和OUTPUT

方向都加上规则链,iptables-IINPUT-jACCEPT,iptables-I

OUTPUT-jACCEPT

注意:以上二三两个步骤添加的nat规则和防火墙规则,都是临

时的,重启iptables服务或重启系统后,nat规则和防火墙规则会

丢失,可以使用命令保存:serviceiptablessave,也可以手动修

改配置文件,配置文件如下vi/etc/sysconfig/iptables:

[root0Server-]#vim/etc/sysconfig/iptables

1号Generatedbyiptables-savevl.4.21onWedDec2602:54:302Q18

2*nat

3:PREROITTINGACCEPT[384:38919]

4:INPUTACCEPT[0:0]

5:OUTPUTACCEPT[0:0]

6:POSTROUTINGACCEPT(0:0]

7-APOSTROUTING-s172.16.202.15/32-d192.168.111.245/32-jSNAT--to-source192.168.11

8COMMIT

9#CompletedonWedDec2602:54:302018

IQ#Generatedbyiptables-savevl,4.21onWedDec2602:54:302018

11"filter

12:INPUTACCEPT[0:G]

13:FOFWARDACCEPT[0:0]

14IOLTTPUTACCEPT[1541:169788]

15-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT

16-AINPITT-picmp-jACCEPT

17-AINPUT-i10-jACCEPT

18-AINPUT-ptcp-mstate--stateN刖-mtcp--dport22-jACCEPT

19-AINPUT-jREJECT--reject-withicmp-host-prohibited

20-AFOFWARD-jACCEPT

21-AFORWARD-jREJECT--reject-withicmp-host-prohibited

COMMTT

四、打开ip_forward

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发

即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包

的目的ip地址将包发往本机另一网卡,该网卡根据路由表继续发送

数据包,这个功能需要手动打开。

修改配置文件:增加一条:

vi/etc/sysctl.confz

net.ipv4.ip_forward=1

[root0Server-]#vi/etc/sysctl.conf

5Systemdefaultsettingslivein/usr/lib/sysctl.d/OO-system.conf.

#Tooverridethosesettings,enternewsettingshere,orinan/etc/sysctl.d/<name>.conff

#

#Formoreinformation,sysctl.conf(5)andsysctl.d(5).

net.ipv4,ip_forward=1

然后输入sysctl-p,使配置生效

[root@Server7#vi/etc/sysctl.conf

[root@Server7#sysctl-p

net.ipv4,ip_fonward=1

[root@Server|

注意:有些centos7.X的版本和centos6.x的版本开启路由转

发的配置文件不一样,如果修改/etc/sysctl.conf不生效的话,需要

修改下面这个配置文件,同样是在结尾增加一条:

net.ipv4.ip_forward=1

[root@Serversysctl.d]#U/etc/sysctl.d/

totalQ

Irwxrwxrvx.1rootroot14Nov2920:5499-sysctl.conf->../sysctl.conf

[rooteServersysctl.d]#|

A结果验证:

源地址1服务器(172.16.202.15)可以通目的地址

(192.168.111.245),源地址2服务器(172.16.202.16)不能通目

的地址

源地址1服务器:

•1192.168.111.63:22•3192.168.111.65:22+

64bytesfrom192.168.111,245:icmp_seq=1787ttl=127tirae-G.507ms

64bytesfrom192.168.111,245:icmp_seq=1783ttl=127time=0.427ms

64bytesfrom192.168.111,245:icmp_seq=1789ttl=127time=0.489ms

64bytesfrom192.168.111,245:icmp_seq=1793ttl=127time-Q.462ms

64bytesfrom192.168.111,245:icmp_seq=1791ttl=127time=0.409ms

64bytesfrom192.168.111,245:icmp_seq=1792ttl=127time=0.441ms

64bytesfrom192.168.111,245:icmp_seq=1793ttl=127time=0.466ms

64bytesfrom192.168.111,245:icmp_seq=1794ttl=127time=0.425ms

64bytesfrom192.168.111,245:icmp_seq=1795ttl=127time=0.440ms

54bytesfrom192.108.111.245:icmp_seq=1795ttl=127time=0.441ms

64bytesfrom192.168.111,245:icmp_seq=1797ttl=127time=G.441ms

64bytesfrom192.168.111,245:icmp_seq=1793ttl-127tirae-0.509ms

64bytesfrom192.168.111,245:icmp_seq=1799ttl=127time=0.470ms

64bytesfrom192.168.111.245:icmp_seq=1803ttl=127time=0.450ms

64bytesfrom192.168.111,245:icmp_seq=1801ttl=127time=0.4Q2ms

64bytesfrom192.168.111,245:icmp_seq=1802ttl=127time=0.454ms

64bytesfrom192.168.111,245:icmp_seq=1803ttl=127time=0.465ms

64bytesfrom192.168.111,245:icmp_seq=1804ttl=127time=0.365ms

64bytesfrom192.168.111,245:icmp_seq=1805ttl=127time=0.420ms

64bytesfrom192.168.111,245:icmp_seq=1803ttl-127tine-0.443ms

64bytesfrom192.168.111,245:icmp_seq=1807ttl-127time=0.453ms

64bytesfrom192.168.111,245:icmp_seq-18Q3ttl-127timc-O.536ms

Y

---192.168.111.245pingstatistics---

1808packetstransmitted,1726received,+82errors,4雷packetloss,time1807Q00ms

rttmin/avg/max/mdev=G.321/0.446/1.015/0.339ms

[root0host-172-16-2O2-157#|

源地址2服务器:

[root!?localhost~]犹ipr

defaultvia172.16.2虎.254devethlprotostaticmetric101

172.16.202.0/24devethlprotokerne1scope1inksrc172.16.202.16metric10

19Z.168.111.Z45via172.16.20Z.14deuethl

[root©localhostping192.168.111.Z45

PIMG192.168.111.Z45(192.168.111.Z45)56(84)bytesofdata.

如果源地址2服务器(172.16.202.16)也需要和目的地址服务

器(192.168.111.245)通信,只需要在iptables服务器上添加一条

nat规则即可

iptables-tnat-APOSTROUTING-s172.16.202.16/32-d

192.168.111.245/32-jSNAT-to192.168.111.63

[root@localhost-]#ipaddr

1:lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdiscnoqueuestateUNKNCWN

link/loopback00:00:00:00:00:00brd00:00:00:GO:00:00

inet127.0.0.1/8scopehostto

valid_lftforeverpreferred_Utforever

inet6::1/128scopehost

foreverpreferred_l^tforever

2:ethO:<BRDADCAST,MULTICAST,UP,L0WER_UP>mtu1500qdiscpfifojaststateUPqlen10Q0

link/etherfa:16:3e:8b:3c:63brdff:ff:H:ff:ff:ff

3:ethl:<BROADCAST,MULTICAST,UP,LCWER^UP>iitu1500qdiscpfifo_faststateUPqlen1000

link/etherfa;16:3e:c3:9b:G2brd仟:ff:ff:ff:ff:ff

inet172.16.202.16/24brd172.16.202.255scopeglobalethl

valid_Utforeverpreferred_Utforever

inet6fe80::f816:3eff:fec3:9b02/64scopelink

validjftforeverpreferred_Utforever

[rootelocalhost-]#ping192.168.111.245

PING192.168.111.245(192.168.111,245)56(84)bytesofdata.

64bytesfrom192.168.111.245:icmp_seq=lttl=127time=0.327ms

64bytesfrom192.168.111,245:icmp_seq=2ttl=127time=0.346ms

64bytesfrom192.168.111,245:icmp_seq=3ttl=127time=0.323ms

64bytesfrom192.168.111.245:icmp_seq=4ttl=127time=0.413ms

64bytesfrom192.168.111,245:icmp_seq=5ttl=127time=0.373ms

64bytesfrom192.168.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论