快捷搜索:   服务器  安全  linux 安全  MYSQL  dedecms

linux服务器基本应用

玩linux也有有一段时间了,作为一个初学者,遇到的麻烦实在不少。所幸这是个网络时代,在众多好心大哥帮助下,我跛子般一关一关闯了过来,其间酸甜苦辣实在让人回味。向这世界上千千万万伟大的linux程序员致敬,是他们让我们能有这么优秀的操作系统可用。这篇东西主要是给刚接触linux的而又急切想配一个服务器的朋友看的,由于鄙人水平有限,错误有所难免,欢迎大家指证。
现就以本公司的网络架构为例,来说一下linux服务器的配置。在正式配置之前先说一下这个服务器所要实现的功能:

1. 数据共享
2. 打印共享
3. 模拟NT域
4. ADSL共享
5. 内部DNS服务
6. DHCP服务
7. FTP服务
8. WWW服务
9. OPENSSH
10. 磁盘配额
11. 动态域名

网络架构如下:[如下图]

www.linuxsir.org/photo/Xchen.gif

Network:10.10.0.0
Server IP:10.10.1.1
Server Subnet-mask:255.255.0.0
Client IP:10.10.1.10-10.10.1.100
Client Subnet-mask:255.255.0.0
Client getway:10.10.1.1
Client DNS:10.10.1.2,202.96.134.133

一、准备工作:

1. RedHat linux 7.2光盘一套
2. 以太ADSL拔号器及您的ADSL接入帐号
3. 两张网卡,最好是即插即用的,免跳线的请察明irq和io。
4. 当然啦,除本机以外的其它机器

二、 RedHat linux 7.2安装:

1.初学者建议用图形界面,请用定制安装。

2系统分区如下(10G):
swap:500M
/:2G
/var:1G
/home:2G
/tools:500M
/data:4G
分区的合理化请参考相关文章。

3.若是即插用网卡,系统能检测到,请设置好ip地址,子网掩码等,请分别设为10.10.1.1和10.10.1.2,subnet-mask为255.255.0.0;若是免跳线网卡,那就等装好系统再设置吧。

4.软件包选择,要全选上也没关系,只要你有空间,若是空间有限有话,不妨定制一下软件包,下面是我的选择,仅供参考:
Printing Support
Network Support
Dialup Support
SMB:windows file server
WWW:web server
DNS:DNS name server
Software Development

5.好了,现在就next一路安装下去吧,最后不要忘了做一张启动盘。

三、linux网络环境配置

1]重启机器进入系统以后,去掉一些不必要的服务吧,留着它们启动速度慢,而且也不安全,下面是我机器刚安装好以后所保留的一些服务:
gpm/iptables/netfs/network/nfs/nfslock/portmap/syslog/xfs/xinetd
至其它的服务,等我们配置好再加载吧。

2]安装linuxconf,配置网络。
放入光盘1
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm –ivh linuxconf-1.25r7-3.i386.rpm
请用setup/system services或是chkconfig –levlel 3 linuxconf on将linuxconf设置为系统自启动服务。
netconf选择Host name and IP network devices进行主机名及网络设置:
Host name + domain:cxserver
------第一张网卡----------
config mode:Manual
primary name + domain:abc
Ip address:10.10.1.2
Netmask:255.255.0.0
Net device:eth0
Kernel Module:ne
I/O port:0x300
Irq:3
------第二张网卡----------
config mode:Manual
primary name + domain:cxserver
Ip address:10.10.1.1
Netmask:255.255.0.0
Net device:eth0
Kernel Module:ne
I/O port:0x320
Irq:5
选择Accept退出,重新启动就会看到eth0和eth1两网卡启动成功,进入系统后可用ifconfig命令查看状态,用ping命令测试其连通性,比如ping一部windows机器。

四、DNS服务器配置

为了让局域网内部用户访问服务器方便一点,配置一个DNS服务器是十分有必要的,毕竟一个名字总比一串数字好记,下面我将服务器10.10.1.1配一个域名www.cx.com,ftp.cx.com,好,开始行动:
需要配置的文件:
/etc/named.conf
/etc/resolv.conf
/var/named/named.hosts
/var/named/named.local
/var/named/named.10.10

1]配置/etc/named.conf文件。此文件是dns引导文件,named进程在启动时要读取它。
vi /etc/named.conf
// generated by named-bootconf.pl
options {
directory "/var/named";
// query-source address * port 53;
};

zone "." IN {
type hint;
file "named.ca";
};
//----------------------手工添加如下两节------------------------------
zone "cx.com" IN {
type master;
file "named.hosts";
};

zone "10.10.in-addr.arpa" IN {
type master;
file "named.10.10";
};
//------------------------------------------------------------------------------
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};

// include "/etc/rndc.key";

以下的三个文件是DNS数据库文件,具体参数不作详解,请参考相关资料。

2]vi /var/named/named.local

$TTL 86400
@ IN SOA ns.cx.com. root.ns.cx.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.cx.com.

1 IN PTR localhost.

3]vi /var/named/named.hosts
@ IN SOA ns.cx.com. root.ns.cx.com. (
2002042302; serial
28800; refresh
14400; retry
3600000; expire
86400; minimu
)
IN NS ns.cx.com.
cx IN A 10.10.1.1
cx1 IN A 10.10.1.223
www IN CNAME ns.cx.com.
ftp IN CNAME cx

4]vi /var/named/named.10.10
@ IN SOA ns.cx.com. root.ns.cx.com. (
2002042302; serial
28800; refresh
14400; retry
3600000; expire
86400; minimu
)
IN NS ns.cx.com.
1 IN PTR ns.cx.com.
2 IN PTR ns1.cx.com.

5]编辑/etc/resolv.conf文件
vi /etc/resolv.conf
domain cx.com
nameserver 10.10.1.1

好,让我们来启动服务吧:
/etc/rc.d/init.d/named start
chkconfig –level 3 named on #将dns服务设置成系统服务,开机自启动
测试:ping cx.cx.com
ping www.cx.com
ping ftp.cx.com
或用nslookup,用法请参考nslookup –help。

五、 DHCP服务器配置

1]安装dhcp。
放入光盘1或是光盘2
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/RedHat/RPMS
rpm –ivh dhcp-2.0p15-8.i386.rpm
请用setup/system services或是chkconfig –levlel 3 linuxconf on将linuxconf设置为系统自启动服务。

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 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论