00:00
欢迎大家继续收看上硅谷的Linux云计算视频。大家好,我是汪洋老师。在之前的课程中呢,我已经很好的把一些我们的防火墙的规则都给大家梳理过了,对吧,那。但是如果细心同学会发现,我们都是在我们的是吧,Filter表中去做的,对吧?我们之前也说过,对于我们Linux运维来说,有两种比较重要的表,第一个是我们的filter表。第二张呢,就是我们的nat表。那之前我们在F的表中已经比较详细的操作了,这节课我们就去在我们的纳的表中做操作。在nat表中呢,们无外乎做两种,第一个是我们的s nott,第二个就是我们的d net。我们一个一看,我们先看第一个S纳。S纳有什么作用呢?局域网主机共享单个公网IP地址,接入我们的互联网。其实我们在我们的个人家庭里,每一台路由器都在做着S的转换。每一台路由器都在做的转换,只要你能通过你家的路由器。
01:03
到公网这里做的基本上都是S纳的转换。那我们看一下我们的S纳的转换的相关原理。首先。这里有一堆的局域网用户。这里的IP地址10.10.10.12对吧。那我们在这里也可以看出来,这个地址是一个私有地址,对吧,私有地址我们假设这个二零网段是一个公有地址。那也就这一台式服务器,就是我们的路由器了。我们拿服务器当路由器用去的,对吧?虽然比较奢侈,但是是可以实现的。好,那这一台有个公网龙的服务器,就是我们公司的官网对吧。好,那内网用户怎么去访问?公网用户呢,直接访问是肯定访问不到的,对吧,因为这里的是一个私有,这里是一个公有地址,肯定是访问不到的,必须要借助这里的路由器做所谓的S的转换。才能访问到。好,那我们看一下它的转换过程,首先局域网的用户是192.168.1.234这么一台IP地址。
02:06
网关服务器,也就是我们什么,相当于是我们的路由器有两块网卡,第一块网卡是一个公有地址。第二块网卡是我们的一个内网地址相关的地址,对吧。以及内网中啊,公网中有一个我们的公网的外部服务器。那么要发送数据报文了,发过去,如果这里开启路由转发的话。原地址192.168.1.234,目标是586323645,也就是对方的公有地址对吧?那数据包呢,如果我们的网关服务器开启路由转发的话,并且这个地址他能到达的话,是不是就会转发出去。转发出去以后我们回信。回信的数据报文是58.63.236.45,目标率是1921681234。我问大家一个问题,这个地址能够在公网中找到吗?肯定不可以对吧,因为在公网中。
03:02
他找到了公网IP,你这里是不是一个私有IP啊,怎么可能能够找得到,所以这次请求是请求错误的。那如果我们在这里路由器这里开启了SR的转换的话,会出现这么一种结果。第一个依然是发起我们的数据报文,对吧?但你会发现经过路由器以后,这里的源地址被改变了,改成了我们的网关服务器的公网口的地址,看到了吗?那这样的话,我们在回信的时候,他回信的是不是依然是一个公有地址,看到了吗?目标地址对调对吧,改成公有地址。公有离子在这个数据报文在经过我们的网关服务器的时候,就会经过我们的路由表。经过我们这里的所谓的防火墙规则,会把它转换成之前的。源地址,也就是我们这里的目标地址。那这样的话是不是就能够正常进行一次完整连接了?稍微有点绕对吧,需要大家比较。好好的去,在脑海中去过一下。
04:02
那接下来呢,我们就去把这个实验给大家做一下。那书写的规则就这么一条规则,IP tables,杠t nott nott表,对吧?杠AP,这是什么?路由后,路由后和路由前很多同学容易搞混,一个是pre rooting,对吧?一个是POS的入侵。怎么去记。我们在吃完饭以后是不是才会付款啊。才会结账。POS。干嘛?吃饭以后录由后对吧,抛root停,这样的话可能比较容易一些,英语不太好的同学便于记忆对吧?好杠S当原地是192.168.1.0,也就是内网地址对吧?杠出口网卡当是我们的内网网卡的时候,做一个S拉转换,转换成我们的公网IP。这样就可以了,那接下来呢,我把这个操作给大家做一下。这里我们需要开启这么几台服务器,那比如我开启个两台服务器,这当做我的私有,私有客户端。
05:02
那这个当做我们的路由器,也就是开启S的方式,好,我们过来还原一下。我们都把反用到最初对吧。给大家讲下环境。这里呢,我们只有一块网卡,只用一块网卡,它的IP地址是10.10.1001,相信大家都不陌生了,对吧?这一台呢,我们要用到两块网卡,并且并且需要注意了哈。第一个网卡把它改成基础机模式,也就是跟我们的这台服务器内网相连,第二台我们要把它改成nat模式。因为我现在环境中是不是没有路由器啊,我改成那T模式以后,这台机器是不是就能上网了。这个网卡就能上网了,对吧,那我们就把它当做是一个公用网卡,能理解我的意思吧,好确定。Catch。
06:05
我们先简单做一下操作吧。对于这台服务器来说,那既然要上网的话,我们都知道是必须要配路由的,对吧,那我们在这里把路由给添加一下。Getaway。路由应该指向谁?应该指向的是我们的s smart的机器,也就是我们在这里的软路由,对吧,也就这台幺二服务器10.10.10.2。我们重启一下网卡,让它生效,然后我们再入个刚刚我们查看一下有没有生效。没问题对吧,去任何地方交给一这个就是我们的网关对吧,好,我们在这台服务器,我们也连接一下。对于他来说,要启用两块网卡。这块网卡呢,是通过我们的当前虚拟机的nat模式去让他上网的,对吧,我们看一下开启第二块网卡。
07:09
BT改为yes。工作方式DCP对吧?Nat模式的DHCP才能去获取,我们去重启网卡。重启网络服务。那当然衣down衣up e1也是可以的,对吧,那这样的话,它是不是就会被我们那塔模式分配一个IP,我们P一下百度看一下。没问题,能通对吧?好,那这样的话我们就可以这样去做了,那为了让大家更直观的去显示的话,我们把它开启我们的图形化。这边呢,我们开始去做了,对吧,做我们的SS的转换或DNA的转换,第一步都要必须要开启我们的路由转发,让他帮我们去转发数据报文的能力。我们由零改为一,开启路由转发对吧,好,这次。
08:00
CTRL-P刷新我们的路由表。啊,刷新我们的,呃,内核柜子。接下来我们再去添加我们的防火墙,那既然要使用防火墙的话,第一步就是开启我们的IPS。设为开机自启。并且我们之前也说过了,对吧,它会有一些默认规则,那我们要把这些默认规则给清空,不然的话会影响我们的实验,对吧,我们先清空。然后我们再去添加我们的S的转换。IP boss我们先简单看一下IP地址对吧。这是我们的公共IP地址,我们复制一下。Ipws-T,那表杠大A。路由后对吧,Post-S内网地址是10.10.10.0杠四杠二入站网卡是ETH0网卡对吧?好然后呢杠这动作是S拉的转换。
09:00
杠杠。S。出口地址我们刚才已经复制了,这里需要注意一下,这是我们的出口网卡,港澳出口网卡,那出口网卡是ETH1对吧,好,那这样的话我们的一个。S纳的转换规则就已经书写完毕了。回车IPS杠大。杠小T-not杠大啊,我们可以看到。这条规则就已经生效了,对吧?在抛租赁链做一个SR转换,转换到我们的公有地址,当然这里看起来是一个私有地址,在我的环境中,它是不是就是公有地址?那如果我重启IP的话。你会发现这条规则就没了。原因是什么呢?它是一个临时生效的。我们再重新添加一下,如果想让它永久生效的话,怎么办呢?我们必须要借助一个命令叫service IP tables save。
10:00
我们之前说过对吧,在Linux里一切接文件,它就是把这个配置写入到。固定化文件中,也就是ETC下的CS com下的IP,我们打开看一下。好,这里有很多信息对吧,我们现在一点一点看新纳代表什么。代表的是哪张表?这这里指定就是nat表。Pre默认规则是accept postut默认规则accept output默认规则accept,这两个零代表的是过滤的数据包数目,过滤的字节数目。好,底下杠a pouting-S1010100-24-O一天玉零杠J啊杠杠two south。这是不是就是咱们刚才写的规则啊,只不过少了一个,少了一个IPT。你说这个为什么可以缺少?他都告诉你了。这是nat表。对吧?这都是在nat表里写的规则,那你觉得还需要写杠TT吗?
11:00
Commit代表这张表的书写结束,下一张filter表默认规则accept对吧?底下是不是还有一些别的一些默认规则,我们可以把稍微改一下,比如我们把这些。把这些filter的默认规则我们可以删除。我们再打开一个,我们看一下。我们现在默认是有一些默认规则的,看到了吗?因为我刚才是不是重启了,重启了IP,所以这些刚才被我删除的规则都还原了,那我现在把这些规则都给删了,表里面是不是没有了,甚至我们可以把它其他都给删了。只留下我们的nat表,看到了吗?只留下我们nat表,我们保存内书,再重启我们的防火墙。好,我们刚才我们看一下诶。这里默认过的是没有了。看到了吗?这里是不是就能持久化了,对吧,这就是我们的s nat,以及它怎么去持久化,好做完以后,那这台机器我们就可以去测试了。
12:03
P3W点百度点com。为什么不能通啊,因为我们还没有写DNS对吧,我们再把DNS给配上。DS114141414DS2。四个八。一个国内一个国外比较靠谱对吧,然后我们再重启我们的网卡。好,我们再聘3W点百度点。com。好吧。看到了吗?那现在的话,我是不是就是通过这台U2机器去上网呢?那我们再看一下。能不能真的上网?3W点百度点。com。
13:04
看到了吗?天气。没问题吧,这肯定是能够上网的,对吧,你说哎,是不是加到别的机器上了,那我们把这个网卡给关一下,断开连接。我们把这个第二个虚拟机的网卡断开连接,我们再访问。防不到了吧,原因是什么?数据包传过来以后,它本身都连接不上了,能理解我的意思什么,这是不是就是我们的S的转换。其实吧,在真正的身上,在真正的就我们我们的家里,其实做了S纳的转换,并不是这一种,原因是什么,你会发现这里让你去写他的什么。公网地址我们都知道,我们现在的拨号上网的话,它的公网地址是一直在变呢,如果每次都需要抓取公网地址的地址数的话,那是不是稍微费事一点,麻烦一点,对吧。
14:01
那应该怎么办?我们拥有这种动态的转换机制。找MSQ。叫MSQ,叫地址伪装。怎么去理解呢?它会自动的去判断你的公网地址为多少,会自动的为你去改写,而不需要你去为他指定一个公网地址。好,那我们可以把这个给做一下,对吧。那我们看一下。我们把这些规则给清空。杠TT杠。F,对吧,我们把那表格清空,然后我们再把这条规则给写一下,给改写一下。动作类型为MSQ。Ipws-T的杠大二我可以看到。规则已经出来了,对吧,那我们再去访问。看到了吗?自动的去帮你去判断你的公网地址为多少,并且把你给添加上,那其实这条规则就是我们家里用的路由器,它路由器书写的生效的这么一条规则,就是这个。
15:07
能理解我的意思吗?那这样的话,我只要有这台规则,并且是这台服务器安装一个DHCP的话,其实这台机器可以当做是你家里的路由器了。是不是非常容易啊,对吧,我们可以通过服务器的方式去构建我们的路由器,没问题。接下来我们继续往后看,这就是我们的S塔转换,那对于我们纳塔表来说,我们还可以做到一个低纳塔转换。电脑的转换有什么功能?就是在我们的互联网中发布企业局域网内的服务器,这个怎么理解?我们看一张图。嗯,这张图不太友好,对吧,我们自己画一下吧。举个例子。我现在公司都会有对应的路由器存在,这肯定是没问题的,我们就是啊。那公公网中呢,是不是还有一些客户端存在。我们拿一个围栏给他拦一下吧。
16:08
这边代表的都是公网。这边代表的东西啊。丝袜。扩张内网。我内网中呢,有一台web服务器。内网中的外部服务器肯定是不能被客户端直接访问到的,对吧,客户端也访问不到,他只能访问到我们的啊路由器上。那路由器怎么把这个数据包传递给web服务器呢?就是我们的D,叫destination。那接下来我们看一下怎么去做这件事情。首先这里的企业内部的服务器叫192.168.1.6网关服务器一个公有地址对吧,公网地址一个是内网地址,也就是跟它相连的这么一个地址,以及一个公网中有个客户端,那过来访问。发起的是173.96.97.98,也就是自己的IP地址,目标是我们的root路由器的。
17:06
就是我们的root的他们的一个公网地址。那如果你这里开启了订单的转换的话,它就会把你的目标地址改写到192.168.1.6,诶,你说怎么那么神奇,为什么会帮我们做这件事情?其实可以这样理解,你在路由器上告诉他了,你说哎,当有人访问你的公网地址的时候,并且访问的端口是八零端口的时候,你把它给我改写到内网地址上。这就是我们的低钠塔转换。那并且在回去的时候会把这个数据报文改到自己的公网地址上。这个就是我们的低钠转换。那接下来呢,我们去把这个实验给大家做一下,对吧。使用的我们的命令呢,就是IP-t nott杠大a pro root,记住了,就是在我们的路由前去做的杠2ET0-D,也就是写的是你的目标地址,那你在生态环境中应该写的是公能地址。
18:04
杠PTCP杠杠低炮的八零杠G低钠的转换,Come on。To destination对吧?转换到一个内网地址上,好,那我们先来把这个环境给大家做一下,依然是我们这里需要三台机器了。当然,这里有人也可能会问,对吧,为什么我们在。DT里一定是在我们的路由前做,而不是在路由器后座,为什么我们这些S纳T一定要在我们的路由后座,而不是在路由前做呢?我们可以给大家解释一下对吧?给大家画下图,演示一下你就能看懂了。
19:01
举例,这就是我们的路由器。一单分为两个部分对吧,一个是我们的内核态和用户态,我们就不写了。那这里呢,是我们的。Filter。That filter。好,然后呢,这里有个接口对吧,还会有对应的我们的路由表。这是我们的roots,也就是路由表。那对于路由前和路由后它的两个接口位置,大家相信应该没有忘对吧?忘的话你还需要把前面的视频好好看一下,这里是一号位置。和二号位置。如果你会问啊,为什么我们的低娜娜会在我们的一号位置做,也就是路由前做,我们可以假装在二号位置做,我们看一下。
20:01
正常情况下,我们的内网服务器是不是应该在这里web服务?对吧,这里是客户端。他发起的请求。应该是由我们。我给他加一些IP地址吧。这里的公网地址20.20.20.12。这里的是一三当客户端对吧。这里是。10.10.10.12。这里是幺幺。能看明白吧,我们假设二零是公网,幺零是私网,那他应该发起的数据官网应该是怎样的?言是20.20.20.13,目标是20.20.20.12。这个相信大家应该都没问题,对吧?如果这还有问题的话,我只能说前面的视频你没有用心再重新去看一下。那这个数据报完呢。
21:02
那这个数据包我呢,会不会发到我们的这个接口上,对吧,那接下来这个数据包是不是要经过我们的路由表。一判断,诶。写错了是吧。圆是幺三,目标是幺二,好。会不会发到我们的路由表?发了网卡时,网卡要经过我们的路由表去判断,路贝尔一看,诶,这家伙是找我们幺二的,那是不是就找我自己啊?找我自己是不是就会到我们的net filter的in put in put链上,那是不是就进去了?而不会转交给后端服务器。那现在他应该怎么做呢?应该在我们的一号位置做。我们再重新写一下对吧。好,他在一号位置坐。那这里发起的数据包的方式依然是一样的,肯定是没有任何区别的,原是幺三,目标是幺二。
22:05
我们刚才说了,他数据报文依然会被发到我们的网卡处,公网网卡处能够被接收到,对吧,那是不是要先经过一号位的,一号位的说了,当你的目标是找的是UR,并且端口是八零的话,那我就给它改写成。10.10.10.1。这个数据包已经被改完了,对吧,再到路由表。路由表一看,诶,这不是脚腰的吗?经过net filter的forward链,啪。出去了,到我们的外部服务器了。从这里我们是不是可以看出来了,DT一定是在路由前做,如果在路由后做的话,都被路由到我们的用空间了,怎么能够到后端的服务器?这个应该还是比较好理解的,对吧,那接下来我们把这个实验给大家做一下。这三台机器呢?给大家讲一下环境。10.10.10.1内网的外部服务器,这相当于是我们公网的路由器。两块网卡,第一块网卡10.10.1002,跟它相连的对吧,第二块网卡20.20.20.2模拟的是一个公网IP。
23:08
那这个呢,是我们的公网用户20.20.20.13。好,这个环境相信大家已经说明白了,对吧,那接下来我们去配置一下。这是我们的内网的外部服务器,所以我们要开启阿帕奇服务。写一个网站,比如说是123。好,C local,我们访问一下。没问题对吧。并且内网服务器应该把网关指向到幺二,这里需要大家注意一下,别忘了。Root ID或者是我们的getaway都可以,我们就getaway吧,持久化生效对吧。10.10.10.2,也就是指定到我们这台服务器。
24:09
好,我们入杠查看一下。没问题对吧,去任何地方交给鸭。那在UR这台服务器呢,我们要先开启路由转发,之前也说过了,对吧?不管是S纳T和DT都是需要转发数据报文的,所以必须要开启路由转发CCTRLC。好,保存退出。那接下来我们继续往后看。因为我们要利用到我们的防火墙,所以我们要去把方案给开启,当然这里还少了一部CCT-P去刷新我们的内核规则,对吧,好。那接下来我们去开启防火墙。开启防火墙的开机自启。并且防火墙是有默认规则的,对吧,我们之前也说过了,我们把它给清空。
25:05
清空完了以后,我们再去写规则,IP doubles-t not杠大A,记住了,这是路由前叫pre root,对吧?我们已经给大家演示过了,好杠二这里写的是入站网卡,而不是之前的出站网卡了,入站是一零入站的,对吧?好杠D目标地址。目标地址。这里入站需要大家注意一下,可不是ET0,我们想一下这里的流向是我们的这一个公网的用户访问进来的,对吧?那入站应该写的是我们的公网的网卡,所以应该是ETH,这里一个小错误对吧,好。这可不是小错误,应该是一个大错误,希望大家注意一下啊,故意给大家犯了一个例子是吧?好杠D,目标地址是公网地址,20年20年20年。
26:03
那我们去开始书写IP时杠T纳达表杠大A。路由对吧。然后呢,杠。什么入站网卡杠IETH1,这里需要注意一下,一定是E1,为什么呢?原因是这里的方向是由公网的客户端访问进来的,那所以你应该写的是公网网卡的入账网卡,也就是ETH1别搞混了对吧啊。杠D目标的目标的访问呢,地址是20.20.20.02,也就这台服务器的公网地址20.20.20.02,对吧,好,杠PTCP协议。杠杠,Depot。八零端口杠借出一个动作转换,为什么?De not。杠杠出。Destination的吧。
27:01
那转换的地址为内网的地址,也就10.10.10.1回升。那这条规则就写完了,我们翻译过来的话,当入站211,并且我们的目标找的是幺二,这台幺二的这个公网地址的话,并且目标端口是八零端口的话,我们直接把它的目标地址改写到内网服务器的这个1110.10.10.11这个IP上。那我们杠t not杠,大家我们看一下规则已经生效了,对吧,在我们的pre面上,那接下来我们IP save保存即可。防火墙规则查看完毕以后,我们还需要把这个。防火墙规则。防火量规则没问题,因我们还需要把这个网,把这个所谓的呃,这台服务器的公网网卡给起来,对吧,一步我们看一下还没启动对吧,好,VETC下的c con network if con ETH,零。
28:11
好,20.20.20.12。保存退出。重启一下网卡,哎,写错了对吧。我们应该改的是第二张卡。开的是前,Yes。工作方式,Static I PI DR。20.20.2002me mask2525250保存退出,重启我们的网络服务。好。第一网卡内网卡,第二网卡公网IP对吧,那我们接下来我们再去把这个这台机器给改写一下。打开我们的网卡配置。
29:02
改写到20.20.20.13没问题对吧,保存退出,重启我们的网络。好衣卡,我们看一下20.20.20.13没问题了,那接下来我就可以访问这台服务器了,我们CU10.10.10.1啊不不不。20.20.20.12回车123已经访问到了。也就意味着我们经过了这么一个传递过程,我发送数据包给这个公网地址,给这个公网网卡之后。公网卡判断,诶你的你访问的是我公网卡,并且目标端口是八零的话,我把它改写到内网的网卡上。内网的这个IP上,那所以数据包就被传过来了,那依次回送,回送给客户,这就是我们所谓的低net转换。可以暴露在我们内网中的一些服务。那这个呢,就是我们的。
30:01
S钠的转换和DNA转换,也就是钠的表示,我们比较常见的两种操作。那需要大家好好的去把它给实验一下,操作一下,对吧,还是非常重要的。那这节课我们就先讲到这里,下节课再见。
我来说两句