基于Ubuntu网关配置(1)

NAT,全称为Network Address Translation,意思是网络地址转换,如果想让所有的人都能够在共有IP不足的情况下上网,就可以使用NAT功能。

一台NAT主机一定要有两个IP: 其中一个是和互联网通信的共有IP;另一个是与内部局域网通信的私有IP。我们知道,网络上的所有信息封包的包头部分都含有源IP地址和目的IP地址,通过NAT主机,可以将从内部局域网发往互联网的封包的来源IP进行更改,将其更改NAT主机的共有IP,然后NAT主机将此更改的对应关系记录下来,这样内部主机就可以使用共有IP上网,反过来也是一样,从外部来的封包经过NAT主机时,NAT主机将封包的目的IP进行更改,从而使外网的主机能够访问内网的机器。通过使用NAT,不但节省了共有IP,而且能够有效地解决企业共有IP不足的问题。

想要实现NAT主机功能,需要一个包含Netfilter架构的内核。Netfilter是Linux系统的一个过滤机制,具体实现的功能室iptables软件来实现的。

Iptalbes是Linux中架设防火墙的工具,防火墙最大的功能就是能够限制某些进入主机的信息。对于Linux系统,防火墙主要有包过滤型和代理服务器,本文主要包过滤型防火墙。包过滤墙主要是能够对进出本机的网络信息封包进行分析,如果符合某个条件就让其通过,不符合条件就将封包丢弃,这样能够有效地保护主机的安全。但是包过滤型防火墙只是使用条件进行匹配,这样可能会阻止部分有效的信息。

iptables主要可以通过以下方式来对通过或进入的封包进行限定:

1)根据封包的协议来限定,主要有TCP,IP和ICMP协议。

2)根据封包的来源端口或目的端口来进行限定。

3)根据封包的来源IP或者是目的IP来进行限定。

4)根据封包的MAC地址进行限定。

iptables主要是由几张表组成常用的有filter表和nat表,filter表主要是用来进行封包过滤的,而nat表主要就是用来搭建NAT主机的。每个表都分别由几条链组成,而每条链里就是对封包进行判断的规则。filter表是由三条链组成的:INPUT链、OUPUT链、FORWARD链,每条链都有特定的功能。INPUT链就是对所有进入本机的封包进行控制的链;OUPUT链就是对所有由本机出去的封包进行控制的链;FROWARD链就是进行转发封包控制链。每条链都是由很多条规则组成的,这些规则就是对封包进行判断的条件,每个规则都会设定符合条件的行为,或者接受,或者丢弃,或者符合规则所指定的条件则很据行为进行操作。nat表包含三条链:PREPOSTING链、POSTROUTING链、和OUTPUT链,其中PREPOSTING链主要用于修改目的IP地址,用来配置DNAT,而POSTROUTING链主要可以用来修改源IP地址,用来配置SNAT。

接下来我们来看看NAT网关的具体配置方法:

初始状态时,我们利用NAT主机(笔记本电脑)上的无线网卡作为外网出口,初始IP是通过DHCP获得的,为192.168.1.108。

我们将内网的网络地址设定为192.168.2.0,以我们NAT主机上的有线网卡作为内网的网关,我们通过以下图1指令将其IP地址设为192.168.2.1:

图1

设定之后我们可见内外网网卡情况如下图2:

图2

继而我们利用iptables指令进行NAT网络的配置,首先清除一下已设定的iptables命令,具体指令如下图3:

图3

接着打开NAT网关,让数据封包能够进入,指令如下图4(将该条规则直接加到INPUT链的最后):

图4

然后设定iptables的转发使能,指令如下图5:

图5

继而我们通过iptables设定内网对外网的通信,使得当内网数据往外发送时,将数据包的源地址改为外网卡的IP地址,具体指令如下图6:

图6

然后,查看一下iptables的设定情况,指令和显示情况如下图7:

图7

当看到如上最后一行的显示表示配置成功。最后,,我们打开

图8.1

内网主机上放置了一个网页,然后通过外网访问该主页成功。我们需要设定如下iptables指令:

图8.2

至此NAT网关的配置完成。

三亚呀——赴一个蓝天碧海。

基于Ubuntu网关配置(1)

相关文章:

你感兴趣的文章:

标签云: