Linux下面Gateway,DNS,Http,FTP的实现(一)

    4个月前作的,要求在Linux下面实现以上功能,先是在网上搜了好多的资料,但是都不太合适我这里的网络现状,我们是光纤,经过自己的摸索和实验,终于实现了以上功能,但是,Apache下面的虚拟主机还没有搞定,DNS还不稳定,搞了一个星期没有搞定,因为还有其他的事情,也就没有再搞了。下面说说我是怎么实现的。(以下没有特别说明都是在RedHat Linux7.3下实现的)下面的文章中,有一些是引用网上的文章,但我忘记作者是谁了,在此说明。如果有谁要引用的话,请注明原始作者,谢谢!
    一、 Gateway的实现在Windows2000Server中实现Gateway非常容易,但在Linux下实现Gateway要复杂一些,其中要涉及到双网卡的设置以及防火墙的设置。 
    软件:RedHat Linux 7.3,个人感觉这个版本的比较好用。硬件:服务器一台,配置一般即可,PIII1G以上CPU,40G以上硬盘(其实2G即可,只要是考虑到现在的服务器不可能只有2G硬盘,还有提供FTP 和HTTP服务的话,需要给每个用户留有一定的硬盘空间,512M内存,双网卡,当然,还需要一个光驱和一台显示器,有些网上的文章介绍不需要显示器,但根据我的实践经验,还是需要一台显示器,有些调试命令在远程无法运行。当然还需要一个外网IP,可以是固定IP,也可以是动态IP(ADSL拨号)。这里我主要介绍固定IP的配置方法,动态IP的配置方法类似。下面介绍具体的实现:首先,软件的安装比较简单,不过在分区时要注意以下几点:VAR分区要大一些,因为所有上网用户的文件,及http发布网站都在这个分区。最好设定一个 Temp分区,作为管理员暂存文件使用。选择文件包群时,一定要选择KDE、Squid两个群包。在局域网中发布网站,那么就要选择http。如果你不太懂如何选择,那就选择Server(服务器)也行,反正影响也不大。还有,在进行到网卡的配置时,分别配置网卡一和网卡二即eth0、eth1,选择 Active Boot(启动时激活),不要选择DHCP,eth0设置外网IP,eth1设置内网IP。
   例如:eth0:IP 220.171.98.5,netmark 255.255.255.0,Gateway 220.171.98.1,DNS 61.128.99.134;eth1:IP 192.168.0.1,netmark 255.255.255.0,其他不用设置。Host name为linux.home.cn,Domain name为home.cn。
    系统安装完毕后,重启,进入系统,Ping一下互联网上的某个主机名,如www.sina.com.cn或其IP地址。接通了的话就可以在Linux环境下上网了,大多数情况下此时是可以Ping通的。下面就要为局域网的共享接入进行配置。先增添一条静态路由,为局域网内的电脑做路由网关:找到并修改/etc/sysconfig/static-routes文件,写入“eth1 net 192.168.0.0 netmask 255.255.255.255 gw 192.168.0.1”。同时不要忘记配置IP报的转发: 找到并修改/etc/sysctl.conf文件,里面有一段“net.ipv4.ip_forward=0”,把0改为1。不放心的话还可以在命令行中输入:“echo 1 > /proc/sys/net/ipv4/ip_forward”。重新启动网络进程后用route命令查看,路由表内多了一条静态路由:接下来设置IP伪装,它可以使局域网内的私有地址以NAT方式透明访问互联网。在RedHat7.3版本中已经内置了一个比原来版本所提供的 Ipchains更优异的Iptables进程,就用它作为地址翻译的引擎。 在命令行中输入: 
[root@linux /]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE //设置一个IP包过滤的规则。
    一切就绪,重启动网卡: 
[root@linux /]# /etc/rc.d/init.d/network restart 
    从共享的局域网中的某台电脑Ping www.sina.com.cn,通的话说明所有的共享接入设置都没有问题,局域网中的电脑都可以上互联网享受冲浪的快乐了。如果Ping不通,就要仔细检查上述的配置步骤和IP的设置是否有不当或疏漏。最后,为了让Linux能自动启动这些配置,可以做如下设置:在/etc/rc.d/目录下,新建一个firewall文件,内容为: echo "starting iptables rules......" iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward 最后一个语句视情况而定。如果/etc/sysctl.conf已经设置好,则不写也没有关系。同时,把这个文件的权限修改为可执行模式: 
[root@linux rc.d]# chmod 755 firewall 
   修改/etc/rc.d/rc.local文件,在文件的最后添加:“/etc/rc.d/firewall”。重新启动Linux服务器,一切正常的话,服务器已经可以自动接入互联网,并设置好了IP伪装。这样,Linux服务器既承担了局域网原有的各项服务,同时又做了局域网共享访问的引擎。 
    今天先写到这里,下次说Http的实现。

你可能感兴趣的:(RedHat,Linux,linux,服务器,互联网,server,redhat,引擎)