2]配置dhcpd.conf文件。 Vi /etc/dhcpd.conf subnet 10.10.0.0 netmask 255.255.0.0{ range dynamic-bootp 10.10.2.0 10.10.2.100; #IP地址分配范围 option routers 10.10.1.1; #默认网关 option subnet-mask 255.255.0.0; #默认子网掩码 option domain-name "cx.com"; #默认域名 option domain-name-servers 10.10.1.1,202.96.134.133; } #最后一行:DNS服务器设置,之所以把10.10.1.1放在前面是想让客户机在作域名解析的时候优先选择内部dns服务器,若域名不能解析,则用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器.用下一个dns服务器解析,202.96.134.133是深圳地区ADSL上网用户主DNS服务器。
3]启动服务:/etc/rc.d/init.d/dhcpd start
4]使用:不论Win9x还是2K都使用自动获取IP地址,其它什么都不用设。
六、 ADSL及防火墙配置
1]下载软件:http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz
2]安装软件: tar zxvf rp-pppoe-3.5.tar.gz cd rp-pppoe-3.5 ./go #开始安装软件
3]软件安装好后,会运行设置程序adsl-setup
USER NAME >>> Enter your PPPoE user name (XXX):________ #此处填写ADSL用户帐号
INTERFACE (default eth0):_____ #以太接口,eth0或者eth1
>>> Enter the demand value (default no): #可以不填
DNS >>> Enter the DNS information here: 202.96.134.133 #本地电信提供的主域名服务器 >>> Enter the secondary DNS server address here: #本地电信提供的辅助域名服务器
PASSWORD >>> Please enter your PPPoE password: >>> Please re-enter your PPPoE password: #密码
FIREWALLING 0 - NONE: This script will not set any firewall rules. You are responsible for ensuring the security of your machine. You are STRONGLY recommended to use some kind of firewall rules. 1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation 2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN >>> Choose a type of firewall (0-2): 0 防火墙设置,选择2可使主机设成局域网的internet网关,将客户机网关设为本机IP,DNS设为电信提供的DNS服务器IP即可上网了,它是由ipchains之ip伪装实现的,而rh7.2中的ipchains已经没有了ip_masq_ftp模块,所以客户机无法使用FTP服务,因此我们在这里不用防火墙,选择0。在rh72中已经有了iptables,它是ipchains的替代品,功能也更为强大了,呆会儿我们写一个脚本,用它来实现ADSL共享。
>>> Accept these settings and adjust configuration files (y/n)? y #保存设置
4]接下来,我们编写一个脚本/etc/rc.d/firewall vi /etc/rc.d/firewall #!/bin/sh echo "Start iptables rules..." /etc/rc.d/init.d/iptables stop echo 1 > /proc/sys/net/ipv4/ip_forward modprobe ip_tables modprobe ip_nat_ftp modprobe ip_conntrack modprobe ip_conntrack_ftp
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -N mine iptables -A mine -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A mine -m state --state NEW -i ! ppp0 -j ACCEPT //允许外部访问我的www服务器 iptables -A mine -p tcp --dport 80 -i ppp0 -j ACCEPT //允许外部使用openssh服务,openssh相当于telnet,但是它的数据传输是加密的, //所以更安全,强烈推荐使用。 iptables -A mine -p tcp --dport 22 -i ppp0 -j ACCEPT //允许外部访问我的ftp服务器 iptables -A mine -p tcp --dport ftp -i ppp0 -j ACCEPT iptables -A mine -p tcp --dport ftp-data -i ppp0 -j ACCEPT //禁止外部ping我 iptables -A mine -p icmp --icmp-type echo-request -i ppp0 -j DROP // iptables -A mine -i ppp0 -m limit -j LOG --log-prefix "Bad packet from ppp0:" iptables -A mine -i ! ppp0 -m limit -j LOG --log-prefix "Bad packet not from ppp0:" iptables -A mine -j DROP
iptables -A INPUT -j mine iptables -A FORWARD -j mine
//iptables功能十分强大,这里不作详解,使用方法请参考相关资料。
5]将这个脚加入到/etc/rc.d/rc.local里去,让它开机时自动运行。 chmod 700 /etc/rc.d/firewall #将firewall设为可执行文件 echo firewall >> /etc/rc.d/rc.local 当然也可以用vi编辑/etc/rc.d/rc.local文件,在尾部加入一行firewall即可。
6]chkconfig –level 3 iptables on #开机时启动iptables
7]好,重启,用root登录系统 用adsl-start命令连接网络,几秒以后出现.Connected,OK,网络已经连通,好!我们来测试:前提:前面写的防火墙脚本已经运行,内部局域网已经连通,DHCP服务已经运行,将客户端tcp/ip设置为自动获取IP地址,其它的什么都不用填,重启登录以后,试试www/ftp/qq等服务吧,速度奇快,爽死你,哈哈。
8]存在的问题: ping一下前面我们设置的域名服务器吧,ping [urlwww.cx.com[/url],你会发现ping不通,为什么呢?你应该还记得我们在安装设置adsl的时候,填入了本地电信dns服务器地址,哈,就是它惹的祸。我们在运行adsl-start的时候,会调用adsl-connect脚本,而它会重写/etc/resolv.conf文件: 原来的:cat /etc/resolv.conf domain cx.com nameserver 10.10.1.0 现在的:cat /etc/resolv.conf nameserver 202.96.134.133 在这种情况下DNS服务器要是运行起来了,那才稀奇了,呵呵。 解决方法: 修改/etc/resolv.conf文件: vi /etc/resolv.conf domain cx.com nameserver 10.10.1.1 nameserver 202.96.134.133 修改/usr/sbin/adsl-connect脚本文件: vi /usr/sbin/adsl-connect 找到下面几行,并将其注释掉: --------------------------------------------------------------------------- if test "$DNSTYPE" = "SERVER" ; then # Sorry, dude... rm -f /etc/resolv.conf ln -s /etc/ppp/resolv.conf /etc/resolv.conf elif test "$DNSTYPE" = "SPECIFY" ; then # Sorry, dude... rm -f /etc/resolv.conf echo "nameserver $DNS1" > /etc/resolv.conf if test -n "$DNS2" ; then echo "nameserver $DNS2" >> /etc/resolv.conf fi fi -----------------------------------------------------------------------------
9]重启,ADSL连接成功,DNS服务器正常,OK,继续前进吧!
七、文件(打印)服务器、模拟NT域的实现。
1]编辑/etc/samba/smb.conf文件 vi /etc/samba/smb.conf [global] workgroup = CX #把它当成NT登录域吧 server string = Samba Server netbios name = cxserver #服务器的netbios名字 hosts allow = 10.10.1. 10.10.2. 127. #只允许10.10.1.0、10.10.2.0网段访问 printcap name = /etc/printcap load printers = yes printing = lprng log file = /var/log/samba/%m.log max log size = 0 security = user #安全等级为user级,访问资源需要身份验证 encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 domain master = yes preferred master = yes domain logons = yes #可以登录 dns proxy = no
[homes] #登录后可以看到用户home目录 comment = Home Directories browseable = no writable = yes valid users = %S create mode = 0664 directory mode = 0775
[printers] #若有打印机,在\\mineserver中可看到打印机,右键安装 comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes
[public] #共享/mnt/data/public文件夹,共享名为public,admin组有写权限 comment = software path = /mnt/data/public public = yes wirte list = @admin
2]用testparm测试/etc/samba/smb.conf文件中语法是否正确
3]/etc/rc.d/init.d/smb start启动服务,并用smbclient –L localhost测试服务器是否正常,若是提示输入密码,回车以后看到服务器信息,则服务器正常。
4]添加用户和组 useradd test groupadd admin gpasswd –a test admin
5]设置smb用户密码 smbpasswd –a test 输入密码并验证
6]用setup之Printer configuration配置一本地打印机,其过程请参考相关资料,这里不过多赘述。
7]测试: 请设置windows机器的网络属性,登录方式为网络用户登录,直接登录到NT域,NT域为cx,重启后用前面添加的test帐号登录,密码为smbpasswd –a test时设置的密码,进行系统后用控制面板之”用户及密码”可修改登录密码。 打开网上邻居,看是否能浏览到cxserver,亦可用\\cxserver访问。 最后设置:chkconfig –level 3 smb on #让smb开机自动运行
八、磁盘配额
前面我们在配置文件共享的时候,有一个共享资源为homes,如aa登录,在\\cxserver中有一个aa文件夹,aa用户对这个文件夹具读写权限,
如若我们不限制aa的话,他有可能会将硬盘塞满,任何一个管理员都不希望看到这种事情,下面我们用quota来实现对用户使用磁盘空间的限制。
1]首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。
2]而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件: cd /home touch quota.user touch quota.group chmod 600 quota.user //只允许root对这两个文件读写 chmod 600 quota.group
3]在/etc/rc.d/rc.local文件尾部加入quota启动脚本: if [ -x /sbin/quotacheck ] then echo "Checking quotas. This may take some time..." /sbin/quotacheck -avug echo "Done" fi if [ -x /sbin/quotaon ] then echo "Turning on quota" /sbin/quotaon -avug echo "OK" fi
4]修改/etc/fstab文件中定义/home分区的那一行: 原内容: /dev/hda3 /home ext3 defaults 1 2 新内容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2 看得出来只是在defaults后面加了usrquota,grpquota而已。 注意啊,是usrquota而不是userquota,若是错了,后果难以预料。
5]重启,在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,没关系,咱们进了系统以再慢慢收拾它。
6]用root登录,然后我们生成aquota.user和aquota.group两个文件: convertquota -u /home convertquota –g /home 若以上步骤不出错的话,我们用ls /home –al就会看到aquota.user,aquota.group两 个文件了
7]再重启,注意观察,不会再出错了。进入系统后就可以对用户home目录进行限制了。比如现在有一个test用户,我们对他进行限制: edquota –u test #此命令将进入一个vi编辑模式,其内容如下: Filesystem blocks soft hard inodes soft hard /dev/hda3 0 0 0 0 0 0 注解标识: A B C D E F 在讲解各参数之前先说说限制的两种方式:soft,hard soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。 hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。 ABC为磁盘空间的限制设置,而DEF为总文件个数的限制 A:已使用空间,无需要设置 B:用户空间使用限制,为软限制,需要设置。 C:用户空间使用限制,为硬限制,需要设置。 D:已有文件总数,无需要设置。 E:文件总数限制,为软限制,需要设置。 F:文件总数限制,为硬限制,需要设置。
我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个, 最多不能超过2500个,设置如下: Filesystem blocks soft hard inodes soft hard /dev/hda3 0 102400 122880 0 2000 2500 注:空间限制是以k为单位的。
8]测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。
9]其它命令的使用: 复制相同调协至其它用户: edquota –p test –u username1 username2 username3 username4…… 显示某个用户当前磁盘使用情况: quota –v username 显示所有用户当前磁盘使用情况: repquota –a 其它的一些命令请参考相关资料。
九、FTP服务器:
Rh72自带了wu_ftp,但是由于其毛病不少,所以我们不用它,我们用性能及安全性能均优于它的proftpd来代替它。
1]下载软件:ftp://ftp.proftpd.org/distrib/sourc...pd-1.2.5.tar.gz
2]安装: tar zxvf proftpd-1.2.5.tar.gz cd proftpd-1.2.5 ./configure –prefix=/usr/local/proftpd //指定安装在/usr/local/proftpd目录下 make make install cp contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd chmod 700 /etc/rc.d/init.d/proftpd chkconfig –level 3 proftpd on //设置为系统自启动服务 cp /usr/local/proftpd/sbin/proftpd /usr/sbin //将proftpd拷至/usr/sbin目录下,让系 统能自动搜索到,也免得再去加一个搜索路径
3]配置/usr/local/proftpd/etc/proftpd.conf文件: vi /usr/local/proftpd.conf ServerName "Xchen FTP server" //服务器登录提示 ServerType standalone DefaultServer on Port 21 Umask 022 MaxInstances 30 User nobody Group nobody //原来为nogroup,请改成nobody RequireValidShell off //手动添加此名,重要 //限定test组用户只能访问自己的home目录,而不能向上浏览 DefaultRoot ~ test //限定test组用户只能访问自己的/home/ftp目录,不能向上浏览 DefaultRoot ~/ftp test //限定music组用户只能访问/home/music目录,不能向上浏览 DefaultRoot /home/ftp music //除music组中bb用户外都能访问/home/music目录,不能向上浏览 DefaultRoot /home/ftp music,!bb //上面组需要自己建立:groupadd test,gpasswd –a username test ServerIdent off //登录时不显示版本信息
AllowOverwrite on
// /home/ftp为匿名用户登录目录 User ftp Group ftp UserAlias anonymous ftp MaxClients 10 DisplayLogin welc 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >> 没有相关教程
|