中科院兰州分院家属院上网项目已经启动,而公网ip地址还没有分配下来(本来公网的ip地址已经出现不足的情况)。为了解决家属院上网的问题,这需要让一台或多台计算机局域网共享一条线路访问Internet,要实现这项功能通常有两种方法:
使用NAT (Network Address Translation)

Linux采用的是redhat8.0(kernel2.4.18-14)服务器它负责带动局域网内的主机访问Internet,并保护局域网内的主机和
服务器不受来自Internet的攻击。
Linux服务器上面向Internet的网卡eth0配置如下:
IP地址
159.226.138.18
子网掩码 255.255.255.0
网关地址 159.226.138.67
DNS服务器
159.226.138.1 159.226.138.234
局域网内的IP地址为192.168.0.234,
这个现在主要是为了提供代理服务。Linux服务器的另一个网卡是eth2(配置的时候把1改为了2),其IP地址为:
192.168.1.1 192.168.2.1
作为代理或NAT服务器:我们希望我们的局域网可以共享我们的Internet连接,并且根据实际情况的需要,控制局域网内主机或用户能否通过这个网关自由或有限的访问Internet。如果局域网访问Internet的流量较大,使用频繁,我们还希望这台主机能够实现各种缓存功能(DNS缓存、WEB缓存),以减少流量和加快访问速度。
作为DHCP服务器:DHCP是BOOTP的扩展,是基于C/S模式的,它提供了一种动态指定IP地址和配置参数的机制。这主要用于大型网络环境和配置比较困难的地方。DHCP服务器自动为客户机指定IP地址,它的配置参数使得网络上的计算机通信变得方便而容易实现了。DHCP使IP地址的可以租用,对于许多拥有许多台计算机的大型网络来说,每台计算机拥有一个IP地址有时候可能是不必要的。租期从1分钟到100年不定,当租期到了的时候,服务器可以把这个IP地址分配给别的机器使用。客户也可以请求使用自己喜欢的网络地址及相应的配置参数。
作为防火墙:我们在局域网内运行着本地私有服务,诸如限制某人通过Internet或者避免受到外来攻击,我们希望这些服务仅在局域网内有效,或者某些服务可以公开到Internet上,这可以通过设置相应的安全策略来实现。
从共享上网的功能来看,NAT的优点是局域网用户通过NAT方式上网时客户端不需要作任何的特殊设置,就和直接使用公网IP地址上网没什么区别;而Proxy则更方便对用户进行权限控制,并且还可以实现访问内容的本地缓存,以此加快访问速度以及内容过滤等等。
1.NAT服务器配置
首先安装iptables软件包。查询一下系统上是否安装了iptables软件包:
# rpm -qa|grep iptables如果没有,那么找到Red Hat Linux 8.0的安装光盘或者到e.pku.edu.cn上搜索iptables,然后下载。
开始安装iptables:
# rpm -ivh iptables*.rpm
Preparing...
########################################### [100%]
1:iptables
########################################### [100%]
注意iptables与
ipchains这两个系统是不能同时存在的,因此,有必要确认并停止ipchains的服务:
# /etc/rc.d/init.d/ipchains stop
# chkconfig --level 0123456
ipchains off
如果更彻底一点,可以把已经安装的ipchains卸载掉:
rpm -e ipchains
确定 iptables 是否正常运行
。
# setup
选择 System services --> 给
iptables 前点上 “ * ”号,让其随系统一起启动;
如果在 ipchains 前有"*"号,务必去掉。
编写脚本内容如下:
#!/bin/bash
iptables -P
INPUT ACCEPT
iptables -P
FORWARD ACCEPT
iptables -P
OUTPUT ACCEPT
iptables -t
nat -P PREROUTING ACCEPT
iptables -t
nat -P POSTROUTING ACCEPT
iptables -t
nat -P OUTPUT ACCEPT
iptables -F
iptables -t
nat -F
iptables -X
iptables -t
nat -X
echo "1" >
/proc/sys/net/ipv4/ip_forward
modprobe
ip_nat_ftp
modprobe
ip_conntrack
modprobe
ip_conntrack_ftp
modprobe
ip_tables
modprobe
ip_nat_irc
modprobe
ip_conntrack_irc
#iptables
-A INPUT -i 11.11.11.76 -s $PRINET -j ACCEPT
#iptables
-A OUTPUT -o 11.11.11.76 -d $PRINET -j ACCEPT
#iptables
-t nat -A POSTROUTING -o 159.226.138.18 -j MASQUERADE
#iptables
-t nat -A POSTROUTING -s 10.0.0.0 -j SNAT --to 159.226.138.18
#iptables
--table nat --append POSTROUTING --out-interface 159.226.138.18 --source
10.0.0.0 --jump MASQUERADE
#iptables
--append FORWARD --in-interface 159.226.138.18 --match state --state
ESTABLISHED,RELATED --jump ACCEPT
#iptables
-t nat -A POSTROUTING -o eth0 -j SNAT --to 159.226.138.18
iptables -A
POSTROUTING -t nat -s 192.168.1.0/255.255.255.0 -o eth0 -j SNAT --to-source
159.226.138.18
#iptables -A POSTROUTING -t nat
-s 192.168.1.0/255.255.255.0 -o eth2 -j SNAT --to-source 159.226.138.18
保存为natstart
#chmod +x natstart (加上运行的属性)
编辑/etc/rc.d/rc.local文件,在其末尾加上一句运行刚才编辑好脚本的语句/etc/natstart
运行:./etc/natstart
2.NAT用户设置
然后双击“本地连接”—“属性”

在出来的画面上把“internet协议tcp/ip”点上后再按”属性“

然后会出现下面的窗口。请按下面的要求填写。按后点“确定“即可。

1.DHCP服务器配置
安装:
(a) #rpm -ivh dhcp-2.0-5.i386.rpm
(b) #rpm -ql dhcp | more
会得到以下列表:
/etc/rc.d/init.d/dhcpd
/usr/doc/dhcp-2.0
/usr/doc/dhcp-2.0/CHANGES
/usr/doc/dhcp-2.0/README
/usr/doc/dhcp-2.0/RELNOTES
/usr/doc/dhcp-2.0/dhcpd.conf.sample
/usr/man/man5/dhcp-options.5.gz
/usr/man/man5/dhcpd.conf.5.gz
/usr/man/man5/dhcpd.leases.5.gz
/usr/man/man8/dhcpd.8.gz
/usr/man/man8/dhcrelay.8.gz
/usr/sbin/dhcpd
/usr/sbin/dhcrelay
/var/state/dhcp
作用:/etc/rc.d/init.d/dhcpd
, 它可用来控制 dhcp
服务器的行为, 如:
启动: /etc/rc.d/init.d/dhcpd start
停止: /etc/rc.d/init.d/dhcpd stop
重新启动: /etc/rc.d/init.d/dhcpd restart
观察运作状况: /etc/rc.d/init.d/dhcpd status
#vi /etc/dhcpd.conf
以下是编写的脚本
|
# configure file /etc/dhcpd.conf # /etc/lib/dhcp/dhcpd.lease # added by luolh 2003-11-05 11:18 default-lease-time 600; max-lease-time 7200; ignore client-updates; ddns-update-style none; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.2.1; option domain-name-servers 192.168.2.1; option domain-name "www.gisway.com"; subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.1 192.168.2.255; } host luolh {
hardware ethernet 12:34:56:78:AB:CD; } |
然后启动: /etc/rc.d/init.d/dhcpd start
2.用户DHCP配置
在上面NAT用户配置里已经讲解了基本的配置。按那些步骤走下来,最后ip地址指定时:选自动获得ip地址,和自动获得DNS服务器地址。
四 防火墙设置
为了限制用户上网和为了避免攻击而采取的措施。
1. 先禁止所有的连接
|
Iptables –t nat –P PREROUTING DROP |
2. ip地址与mac地址绑定
|
Iptables –t nat –A PREROUTING –s 192.168.0.88[s1] –m mac -–mac-source ! 00:50:BA:7F:0D:73[s2] –j DROP |
3. 输入 #setup
”Firewall configuration”
Security Level: (*) High ( ) Medium ( ) No firewall
然后把所需的服务和端口打开:如DHCP SSH HTTP FTP 配置的squid代理的8086端口。
4.显示所有的规则
Iptables –t nat –L
5.删除规则
Iptables –t nat –D PREROUTING 1…n(这是顺序号)
CHINA UNIX - http://bbs.chinaunix.net/