Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306599
  • 博文数量: 84
  • 博客积分: 5016
  • 博客等级: 大校
  • 技术积分: 900
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-30 20:22
文章分类

全部博文(84)

文章存档

2008年(21)

2007年(63)

我的朋友

分类: LINUX

2008-02-05 13:41:35

前几天作的,我把服务写的挺工整,就整理了一下。
 

 OS

iface 

configration 

slackware 

eth0 

10.0.0.1/24 

 

ppp0 

pppoe 

windows 

local 

use DHCP 

 
 
常识:如果是内部ethernet网关,给/proc/sys/net/ipv4/ip_forward赋值1就可以转发了,但是pppoe网关不同,这样做绝对不会给你转发的,但是也不用担心,pppoe程序会处理这个的,过会儿防火墙选项选择2(masquerade)就可以了。
 
下面是步骤:
<1>DHCP (怎么安装我就不说了)
root-zarok.gov#cp /usr/share/doc/dhcp-3.0.5/examples/dhcpd.conf /etc/
root-zarok.gov#vim /etc/dhcpd.conf
ddns-update-style ad-hoc;
log-facility local7;
option domain-name "zarok.gov";
option domain-name-servers 202.99.96.68;
default-lease-time 28800;
max-lease-time 32000;
#注:租期以秒为单位
subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.10 10.0.0.20;
  option domain-name-servers 202.99.96.68;
  option routers 10.0.0.1;
  option broadcast-address 10.0.0.255;
  default-lease-tiom 28800;
  max-lease-time 32000;
}
 
虽然ISC的dhcpd没有独立的日志,但好在它为syslogd提供了一个接口。
/etc/dhcpd.conf:
#Use this to send dhcp log messages to a different log file         
#(You also have to hack syslog.conf to complete the redirection)
log-facility local7;                                                                           
说明dhcpd的facility名称为local7。
 
root-zarok.gov#vim /etc/syslog.conf
在所有facility是*的行中加入local7.none
在文件末尾加入:
#This is log for dhcpd
local7.*           /var/log/dhcpd
root-zarok.gov#touch /var/log/dhcpd
这样就完成了所谓的"hack syslog.conf"
 
root-zarok.gov#vim /etc/rc.d/rc.dhcpd(默认没有,自己写)
#!/bin/sh
#
#/etc/rc.d/rc.dhcpd
#
case "$1" in
'start')
  /usr/sbin/dhcpd
;;
'stop')
  killall dhcpd
  rm /var/run/dhcpd.pid
;;
'restart')
  killall dhcpd
  rm /var/run/dhcpd.pid
  sleep 1 (这是我个人爱好,也可以不写)
  /usr/sbin/dhcpd
;;
*)
  echo "Usage: $0 {start|stop|restart}"
;;
esac
 
root-zarok.gov# chmod 755 /etc/rc.d/rc.dhcpd

root-zarok.gov#vim /etc/rc.d/rc.M
在比较靠后的位置加入——除非你确定在哪一行启动rc.inet1
if [ -x /etc/rc.d/rc.dhcpd ]; then
  . /etc/rc.d/rc.dhcpd start
fi
root-zarok.gov#vim /etc/rc.d/rc.6(0只是个指向6的链接,改6就可以了)
在比较靠前的位置加入——因为这是关机脚本
if [ -x /etc/rc.d/rc.dhcpd ]; then
  . /etc/rc.d/rc.dhcpd stop
fi
 
 
 
 
 
 
 
<2>pppoe
root-zarok.gov#pppoe-setup
这其中有一项问需不需要开机自启动,记得选no,要学会自己写脚本,便于管理。
最后的防火墙选项要选2(MASQUERADE)这个词也可以理解为forward。

root-zarok.gov#vim /etc/rc.d/rc.pppoe(默认没有,自己写)
#!/bin/sh
#
#/etc/rc.d/rc.pppoe
#
case "$1" in
'start')
  /usr/sbin/pppoe-start
;;
case "$1" in
'stop')
  /usr/sbin/pppoe-stop
;;
case "$1" in
'restart')
  /usr/sbin/pppoe-stop
  sleep 1
  /usr/sbin/pppoe-start
;;
*)
  echo "Usage: $0 {start|stop|restart}"
;;
esac
 
root-zarok.gov#chmod 755 /etc/rc.d/rc.pppoe

root-zarok.gov#vim /etc/rc.d/rc.M
加入
if [ -x /etc/rc.d/rc.pppoe ]; then
  . /etc/rc.d/rc.pppoe start
fi
root-zarok.gov#vim /etc/rc.d/rc.6

加入
if [ -x /etc/rc.d/rc.pppoe ]; then
  . /etc/rc.d/rc.pppoe-stop
fi

root-zarok.gov#chmod 755 /etc/rc.d/rc.ip_forward

root-zarok.gov#init 6
 
[完成]
 
  有人会奇怪,把启动它们的指令乱七八糟地追加到rc.M(相当于System V风格init中的/etc/rc.sysinit)或rc.local不是很轻松吗?干吗要写服务脚本?

  原因很简单——你真的在“用”Linux吗?
  ——那就让它像你自己家里一样整齐吧。
 
阅读(2052) | 评论(1) | 转发(0) |
0

上一篇:一篇愤怒的手记

下一篇:脚本相关

给主人留下些什么吧!~~

Zarok2008-02-20 22:32:56

嗯,前两天不小心删掉了,结果又重新写了一份……