linux nat软件,linux下nat的应用(转)
linux下nat的应用(转)
随着Linux的应用普及,Linux在网络方面的强大逐步为大家所认识,越来越多的单位选择使用Linux来作为服务器的操作系统。今天笔者想就Linux在校园网NAT方面的应用展开一些探讨。
大
家都知道,所谓“网络地址转换”(Network Address Translation,
NAT),它是定义于RFC1631中的Internet标准,主要是用来简化及保存IP地址,它可让原来无法上网,但是可以使用内部IP地址的主机可以
成功地连接Internet。这可大大减少IP地址的需求,因为基本上整个内部网络都可以凭借NAT上的一个外部IP来连接Internet。
当
NAT作用于路由器时,通常可以连接两组以上的网络在转送数据包到其他网络前,将内部IP地址转换为Internet上合法的外部IP地址。此外,NAT
还可以对外只用一个地址代表整个网络,这样可以提供更高的安全性,将整个内部网络隐藏在该地址背后,将这种安全性及地址保存的双重功能的程序通常安装在远
程访问的环境。目前许多路由器支持NAT这项功能,其他如Linux中的IP伪装(IP
Masquerade),FreeBSD中的NATD或Windows上的Sygate、Wingate、或Winroute等软件都具有相同的功能。
使用NAT的优点如下:
l
减少IP地址使用量。在使用NAT以后,Internet上的主机会误以为它正与NAT服务器进行通信,因为它们并不知在NAT主机背后包含一个局域网。
于是,回传的数据包会直接发送到NAT服务器,然后NAT服务器再将这个数据包头文件目的地的IP地址更改为局域网里真正发出信息的计算机。
l 可在NAT服务器上的外部IP上建立多个“IP Alias”,当收到传给那些IP Alias的请求时,NAT服务器可以把这些请求传给内部网络中提供服务的服务器。
l 负载均衡(Loading Balancing),也就是说,将同一个IP Alias请求分别导向到其他运行相同服务的服务器,可减少单一服务器的工作量。
虽然使用NAT具有以上优点,但是在某些情况下,必须注意到NAT潜藏的缺点,以下举出几个例子共大家参考:
l 理论上,NAT服务器只使用一个IP地址,就可涵盖无数个内部IP地址,但是许多网络通信协议或者应用程序都需要真正点对点的连接。
l 有些数据包是从出发地到目的地的过程中不能修改,像IP安全体系结构就不可以使用NAT来进行映射,因为数据包的文件头文件中含有数字签名,如果头文件被更改(即使是任何一个字),这个数字签名便从此失去效力。
l 虽然NAT对于无法取得足够IP地址的企业组织来说,它是一个极佳的解决方案,但当该组织必需合并多个局域网时,必须仔细重新规划IP分配,否则很容易产生IP重复的情况(因为每个局域网都使用内部IP地址)。
l NAT通常被人视为增加计算机安全性的保护措施,但是如果***者可以控制NAT服务器,那么整个局域网就会暴露在Internet当中,因此NAT并不能拿来代替防火墙使用。
NAT依其作用的方向性通常可以区分为两种类型:
l Source NAT (SNAT): 所谓的Source NAT就是改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一个SNAT的例子。
l Destination NAT (DNAT): Destination NAT刚好与SNAT相反,它是改变第一个数据包的目的地地址,如平衡负载就属于DNAT。
经过以上的说明,大家应该对NAT服务器的原理有了一定的了解。下面笔者就以自己学校的网络为例,来进行实际的NAT服务器的安装。
学
校整个网络使用四个IP网段:192.168.0.0/24学校办公网络、192.168.1.0/24学校财务网络、10.0.0.0/16学生网络、
192.168.2.0/24 NAT服务器所在网络。这四个网络以华为quidway3526为中心交换机使用vlan划分开,各个vlan之间通过交
换机配置可以实现相互通信。现在要使这192.168.0.0/192.168.1.0/10.0.0.0这三个网段通过NAT服务器
192.168.2.1来上网。
首先,我们先来进行NAT服务器的安装。NAT服务器应该至少具备两张网卡。
第一张网卡名称:eth0。
IP地址:220.204.56.71。
子网掩码:255.255.255.0。
第二张网卡名称:eth1。
IP地址:192.168.2.1。
子网掩码:255.255.255.0。
在安装NAT服务器之前,必须确定系统上是否已经安装了iptables程序,如果不知是否已经安装了iptables,可以使用以下方法来进行判断:
#rpm –qa iptalbes
iptables-1.2.7a-2
如果尚未安装iptables,可以在第一张安装光盘中的/RedHat/RPMS目录下,找到名为“iptables-1.2.7a-2.i386.rpm”的安装程序,然后按以下方法进行安装:
#rpm –ivh iptables-1.2.7a-2.i386.rpm
在安装好iptables以后,我们首先要配置一下静态路由。以确保NAT主机可以和其它各网段可以相互通信。
首先查看一下路由表:
#route
Kernel IP routing table
Destination Gateway Genmask Flags Use Iface
192.168.2.0 * 255.255.255.0 U eth1
127.0.0.0 * 255.0.0.0 U lo
default 220.204.56.1 0.0.0.0 UG eth0
现在的NAT主机是无法和其他网段相互通信的,所以我们用添加静态路由的方法来解决这个问题:
#route add –net 192.168.0.0/24 gw 192.168.2.254
#route add –net 192.168.1.0/24 gw 192.168.2.254
#route add –net 10.0.0.0/16 gw 192.168.2.254
(注:192.168.2.254是quidway3526交换机上192.168.2.0这个vlan的接口)
现在应该已经可以和这三个网段的机器进行相互通信了。用ping命令来进行测试:
C:\Documents and Settings\administrator>ping 192.168.2.1
Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.2.1: bytes=32 time<10ms TTL=63
Reply from 192.168.2.1: bytes=32 time<10ms TTL=63
Ping statistics for 192.168.2.1:
Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
接下来我们需要使用IP Forwarding的功能,代替内部网络的主机发送数据包。
1、 修改/etc/sysctl.conf文件内容,将“net.ipv4.ip_forward=”这行设置为1。
#vi /etc/sysctl.conf
net.ipv4.ip_forward=1
2、 修改/etc/sysconfig/network,加入这句话“echo 1>/proc/sys/net/ipv4/ip_forward”。
3、 重新加载/etc/rc.d/init.d/xinetd,以便使设置生效:
#/etc/rc.d/init.d/xinetd reload
4、 运行下面的指令使用IP伪装(IP Masquerading)允许所有内部网络的主机连接到Internet。
#iptables –t nat –A POSTROUTING –s 192.168.0.0/24 –j MASQUERADE
#iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j MASQUERADE
#iptables –t nat –A POSTROUTING –s 10.0.0.0/16 –j MASQUERADE
(注:Linux严格区分大小写)
在三个网段上的任意一台机器运行ping命令进行测试:
C:\Documents and Settings\administrator>ping [url]www.sina.com.cn[/url]
Pinging taurus.sina.com.cn [61.172.201.226] with 32 bytes of data:
Reply from 61.172.201.226: bytes=32 time=78ms TTL=50
Reply from 61.172.201.226: bytes=32 time=62ms TTL=50
Reply from 61.172.201.226: bytes=32 time=93ms TTL=50
Reply from 61.172.201.226: bytes=32 time=63ms TTL=50
Ping statistics for 61.172.201.226:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 62ms, Maximum = 93ms, Average = 74ms
此至使用Linux配置一台校园网NAT服务器就完成了。当然我们还可以将这台机器配置成NAT+防火墙,这样就会使得我们的局域网更加安全,具体怎样利用iptables来配置防火墙因为不是本文的重点,所以在这里就不再详述了。
Linux
博大精深,其网络方面的功能强大,安全性和稳定性更是windows所不能及的。但是,Linux的优势能否更快的为更多的人所接受,能否在学校信息化进
程中起到显著的推动作用,还需要每一位Linux爱好者热情和支持,笔者写这篇文章也是真正想为Linux的发展和应用尽上自己的一份力,为Linux在
学校网络应用上的推广做点事情
linux nat软件,linux下nat的应用(转)相关推荐
- linux 图像处理软件,linux下的图像处理软件
由于学习和工作需要,已经基本告别windows.我呢,平时爱好摄摄影,免不了会经常的遇到图片处理,ps和光影魔术手,我比较喜欢,也比较习惯.不过这两者都是跑在win下的软件,当然,ubuntu下也可以 ...
- 写linux代码软件,Linux下写代码神器,完爆notepad++
SciTE是一款很好用的编辑器,支持众多的脚本,比如C.C++.PHP.C#.perl.html.css.java等等.免费而且开源.支持linux和win32环境.在windows下面只需要将下载的 ...
- linux qos 软件,linux下QOS:应用篇 - 博客 - 伯乐在线
原文出处: linuxDOS 欢迎分享原创到伯乐头条 上一篇我们讲了QOS的理论知识,了解了它是做什么用的,以及设计模式,下面就以tc的应用的更深入的理解qos. Linux采用了基于对象的实现方 ...
- linux qos 软件,linux下QOS:应用篇
Linux采用了基于对象的实现方法,qos还能保证对不同接口采用不同的策略,TC QOS有很多拥塞控制的机制默认的是FIFo还有其他PQ.CQ.WFQ等. 策略类 用结构体:Qdisc_ops表示.每 ...
- linux拨号软件,Linux 下的宽带ADSL拨号软件“rp-pppoe”使用设置
RH要先设置网卡#netconf 把IP和DNS设置成如下的. IP地址:192.168.0.1 掩码: 255.255.255.0 DNS (下面以广东佛山为例,各地的ISP 均有不同的DNS ) ...
- Linux蓝牙耳机软件,linux 下搞定蓝牙耳机
其实今天在 linux 下面搞定蓝牙耳机并不是很难的事情.只不过因为这个问题在历史上曾经比较棘手,网上充斥了大量相对陈旧的.复杂的安装指南,导致人们一直感觉这样时尚的东西,可能 linux 支持起来很 ...
- bochs linux 安装软件,Centos 下安装 Bochs
下载Bochs 找一个Bochs最新的下载就好了 yum install gcc bochs使用c++编写,编译源代码时用到gcc yum groupinstall "Development ...
- linux笔记软件,Linux Ubuntu学习笔记_软件管理
管理软件包工具:dpkg.rpm (dpkg管理deb软件包.rpm管理rpm软件包) 安装程序:sudo dpkg -i *.deb (Ubuntu文件后缀为.deb SuSE.Fedora为.rp ...
- linux iscsi软件,linux iscsi软件环境搭建
1.软件准备 1)scst软件组:scst-1.0.1.1.tar.gz,iscsi-scst-1.0.1.tar.gz,scstadmin-1.0.6.tar.gz 下载地址: 2)mdadm-2. ...
最新文章
- C++查找算法(更新中)
- Hacked VisualSVN Server by PHP to allow user change password
- nested exception is java.lang.NoClassDefFoundError: org/springframework/aop/TargetSource
- python 时间序列分析之ARIMA(不使用第三方库)
- oracle 常见操作
- 16位汇编 Hook int 0实例
- 十行Python以内代码能有什么高端操作?
- Github Clone to local files
- 安卓怎么把一个按钮设计成梯形_常闭触点输入信号处理的电路图及PLC梯形图
- [2019杭电多校第五场][hdu6630]permutation 2
- 重复类发展手法_正确护肤手法图解!
- 【优化分类】基于matlab改进的人工蜂群算法优化SVM分类【含Matlab源码 1833期】
- 鲁大师电脑硬件兼容性测试软件,还在用鲁大师?查看电脑硬件信息可以用这些免费的软件!...
- 【良心推荐】国内适合中小企业、团队的十大协同办公系统
- 打开应用商店显示服务器出错了,Win10应用商店提示“我们这边出错了”的三种解决方法...
- android开机动画 制作工具,开机动画包制作(bootanimation)
- 【hadoop生态之Hive】Hive的数据类型【笔记+代码】
- uni-app图片上传(位置固定)
- lopa分析_AQ/T 3054-2015保护层分析(LOPA)方法应用导则
- 看 阿里人的工作生活是怎样的|2017 阿里人影像纪录短片发布
热门文章
- 条件 CHAIN 语句
- SAP支持包、插件程序和附件
- ABAP模块P类型详细解释
- 《SAP高级应用开发》---Idoc学习笔记
- 不做“韭菜”,永洪BI教你逃离币圈骗局
- 做宠物行业“独角兽”,乖宝集团如何为宠物舌尖上的安全保驾护航?
- 释放数据价值,大数据分析如何助力电商获客又增收?
- mysql/event.myd no fond_mysql Last_Error: Error 'File './sales.MYD' not found (Errcode: 24)
- java迷宫生成代码_通过深度优先搜索产生的迷宫的Java代码
- stl如果开o2_如何自己写一个STL(上)