CentOS6
NAT+DHCP服务共享客户机上网
操作系统:CentOS6.2dhcp版本:dhcp-common-4.1.1-25.P1.el6_2.1.i686
一 Linux实现nat共享上网
我的实体机为CentOS-6.2,学校迁的是校园网,IP我是这样设的:
$ vi /etc/sysconfig/network-scrips/ifcfg-eth0
输入以下内容:
DEVICE="eth0"
HWADDR="00:24:54:5E:5D:39"
NM_CONTROLLED="yes"
BOOTPROTO=static
IPADDR=58.195.172.229
NETMASK=255.255.255.192
GATEWAY=58.195.172.254
DNS1=58.195.1.1
DNS2=202.103.24.68
设好后,重启网络服务:service network restart 或 /etc/init.d/network restart
如果启不来,试试ifup eth0 或者ifconfig eth0 up
若还不行,没办法,重启下看看,呵呵。
查看一下IP设置:ifconfig
eth0
好的,以经设置好了,接下来查看IP转发功能是否开启:
结果为0,则表示未开。
echo "1" > /proc/sys/net/ipv4/ip_forward
临时开启IP转发功能。
永久开启则需编辑/etc/sysctl.conf文件,将其中的net/ipv4/ip_forward=0换成net/ipv4/ip_forward=1(有的是需将net/ipv4/ip_forward=1前的#删除即可)。
最后设定iptables,允许nat进行IP映射,使数据能重定向到指定主机。
#先清除已有规则
iptables -F
iptables -X
iptables -Z
#设定预设规则
iptables -P INPUT
iptables -P OUTPUT
iptables -P FORWARD
iptables -t nat
iptables -t nat
iptables -t nat
#nat转发
iptables -t nat
iptables -A INPUT -i eth0 -p tcp
以上iptables规则只是作了很简陋的设置,更为科学合理的设置还请各位前辈朋友们多指点,哈。
小提示:若要长期使用的话,可以将上述iptables规则写到shell脚本里面,每次开机运行一下就OK,或者直接通过~/.bashrc或~/.bash_profile或/etc/rc.local添加一句运行该脚本的语句即可,还或者将脚本放在/etc/rc*.d/中,这里的*指启动时所对应的启动级别,这样就可以顺利实现开机自动运行喽!
好的,现在客户机只要作一下简单的设置。
客户机只需把网关改为主机的IP(我这里设的是58.195.172.229,也就是linux主机的IP)即可,DNS等保持不变。
处在58.195.172.0/24网段的的IP就可以上网了
二 配置DHCP服务器
如上面所说,如果纯粹只想实现nat共享上网的话上面的步骤就可以实现了,当然,要是还想让“客户”朋友们在“舒服”点的话就再配个DHCP喽!呵呵
首先,当然还是安装啦!
对于rpm系列的linux如果用的是yum包管理器的话,可以在配好yum源后直接
yum
呵呵,简单吧!
麻烦点的话,在rpmfind等或者google找一下相关的软件包即可
最后是配置喽!
vi
下面是我的配置文件
#
# DHCP Server Configuration file.
#
#
#
ddns-update-style interim;#DHCP-DNS互动更新模式
ignore client-updates;#允许客户机更新DNS记录
allow booting;#响应使用者查询
allow bootp;#响应激活查询
allow unknown-clients;#是否动态分配IP给未知的使用者
#定义作用域
subnet 58.195.172.0 netmask 255.255.255.0 {
option routers
option subnet-mask
#option domain-name
option domain-name-servers
option time-offset
range dynamic-bootp 58.195.172.100 58.195.172.254;
default-lease-time
max-lease-time
#为固定机器绑定固定IP,指定多个主机--IP绑定时用group{}将主机扩起来
group{
host lei {
hardware ethernet 98:4b:e1:a2:f7:fd;
fixed-address
#
host ang {
#
host yue {
#
#与group{ 相对应
}
#与subnet{ 相对应,哈,有始有终么!
}
好的,到此就全部配置安装完成,重启一下服务看看。
service
如果没有报错则说明成功,如有问题很可能是配置上出了点岔子,可以通过
查看日志,用以下命令
tail
实时监视出错及运行情况也方便找出错误点。
开机运行dhcp通过以下命令来实现:
chkconfig
有兴趣的同学们可以尝试尝试,有错误的地方还望不吝指教噢!呵呵,
下面是dhcpd.conf配置的参数对照表
######################################################
######################################################
参数
ddns-update-style
allow/ignore client-updates
default-lease-time
max-lease-time
hardware
server-name
get-lease-hostnames flag
fixed-address ip
authritative
声明
shared-network{}
subnet{}
range
host 主机名{}
group{}
allow/deny unknown-clients
allow/deny bootp
allow/deny booting
filename
next-server
选项
subnet-mask
domain-name
domain-name-server
host-name
routers
broadcast-address
netbios-name-servers
netbios-node-type
ntp-server
nis-server
nis-domain
time-offset
################################################################
################################################################