歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

Linux服務器的一些基本應用

謝:多謝xchen兄[[email protected]]為弟兄們傳道,授業,解惑! **************************************************************************************************************************** Linux 服務器 的一些基本應用作者:Xchen[[email protected]
謝:多謝xchen兄[[email protected]]為弟兄們傳道,授業,解惑! 


**************************************************************************************************************************** 

Linux服務器的一些基本應用 作者:Xchen[[email protected]] 2002.8 

**************************************************************************************************************************** 

玩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 
選擇Aclearcase/" target="_blank" >ccept退出,重新啟動就會看到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 
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 //登錄時不顯示版本信息 
<Directory /*> 
AllowOverwrite on 
</Directory> 
<Anonymous /home/ftp> // /home/ftp為匿名用戶登錄目錄 
User ftp 
Group ftp 
UserAlias anonymous ftp 
MaxClients 10 
DisplayLogin welcome.msg 
DisplayFirstChdir .message 
<Limit WRITE> 
DenyAll 
</Limit> 
</Anonymous> 

4]啟動服務:/etc/rc.d/init.d/proftpd start 

5]測試,在客戶端用FTP軟件或命令行FTP程序進行訪問ftp.cx.com。 

6]proftpd技豈只此,還有很多高級應用,請參考相關資料,這裡就不多贅述。 

十、WWW服務 

www服務用apache來實現,步驟極其簡單,當然,這裡說的是初級應用。因為我們要實現的是簡單的www服務,所以只需更改下面幾個參數即可: 

1]Vi /etc/httpd/conf/httpd.conf 
ServerName www.cx.com 
DocumentRoot ”/var/www” 

2]拷貝網頁文件到/var/www目錄 

3]啟動服務:/etc/rc.d/init.d/httpd start 
將httpd設置為系統自啟動服務:chkconfig –level 3 httpd on 

4]測試:在ie中用http://www.cx.com測試。 

為什麼把www服務講得這麼簡單呢,主要是因為這種單一類型的網頁文件服務用得較少,現在大多數都要用cgi,asp,php,還有數據庫等,關於這方面配置還請參考相關資料,這裡不作詳解。 

十一、動態域名服務 
動態域名這個叫法不大妥當,應該叫動態ip for 域名才對。到現在為止,ftp和www服務我們都實現了,在局域網內可以用www.cx.com來訪問,但是我們已經用ADSL連通了internet,我們怎樣讓外部訪問我們的ftp,www服務器呢,總不成每都通知對方服務器的IP吧,所以就要用到動態域名服務,大致原理是每次ADSL拔號時將自身IP更新到外部DNS服務器數據庫中所對應的那個域名,所以我們每次訪問這個域名就可以了,在這裡討論一下www.3322.org提供的動態服務的實現。 
1]登錄www.3322.org網站,注冊一個用戶,並申請一個動態域名xxxx.3322.org。 
2]下載linux客戶端軟件: 
http://www.3322.org/dyndnspage/ez-i...-linux-i386.tgz 
3]安裝軟件: 
tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz 
mv ez-ipupdate-3.0.10-linux-i386 /usr/local/ezip 
4]編輯/usr/local/ezip/qdns.conf文件: 
vi /usr/local/qdns.conf 
service-type=qdns 
user=username:password //用戶名及密碼,用冒號隔開 
host=xxxxx.3322.org //你申請的域名 
interface=ppp0 //接口為ppp0 
max-interval=2073600 
cache-file=/tmp/ez-ipupdate.cache 

5]將當前ip現新到我們申請的域名: 
cd /usr/local/ezip 
ez-ipupdate –c qdns.conf 
系統會提示數據更新成功,好,我們來ping一下xxxx.3322.org,哈,果然是ppp0 
的IP,再用http://xxx.3322.org試一下,一切OK,爽。 

6]問題又來了,難道我們每次啟動ADSL都要用手動更新一次嗎,你可能會想到用crontab讓它每隔幾分鐘更新一次,建議不錯,不過為了ip更新而啟用crond服務 
似乎有點小題大做,我的方法,修改/usr/sbin/adsl-start腳本: 
vi /usr/sbin/adsl-start 
找到倒數25行”tty –s && $ECHO “ Connected ! “,在其下增加一行: 
/usr/local/ezip/ez-ipupdate –c /usr/local/ezip/qdns.conf 
存盤退出,OK,我們讓ADSL拔號完成以後自動更新,爽吧! 

7]測試一下: 
adsl-start 
. Connected! 
ez-ipupdate Version 3.0.10 
Copyright (C) 1999-2000 Angus Mackay. 
connected to members.3322.org (202.108.36.139) on port 80. 
request successful 
OK,數據更新成功。 

好,現在你隨時隨地都可以用xxxx.3322.org訪問你的服務了,不錯吧。 


十二、openssh的設置 
如果你在家裡或者其它地方,怎樣控制你的服務器,你可能會想到用telnet,本來是可以的,但是由於telnet用的是明碼傳輸,容易給那些不懷好意者可乘之機,所以我們用openssh來代替telnet。 

1]卸載原來的2.9x版,2.9x版有bug,不安全: 
rpm –e openssh 

2]最新軟件包下載: 

ftp://ftp.openbsd.org/pub/OpenBSD/O...sh-3.4p1.tar.gz 

3]安裝軟件: 
tar zxvf openssh-3.4p1.tar.gz 
cd openssh-3.41 
./configure --prefix=/usr/local/ssh \ 
--sysconfdir=/etc/ssh \ 
--with-tcp-wrappers \ 
--with-ipv4-default \ 
--with-md5-passwords 
make 
make install 
注:安裝完成以後,會自動生成主機密鑰,還會提示需要sshd用戶帳號,可用useradd加一個sshd用戶。 
install /contrib/redhat/sshd.pam /etc/pam.d/sshd 
cp contrib/redhat/sshd.init /etc/rc.d/init.d/sshd 
chkconfig --level 3 sshd on ;配置成系統服務 

4]配置openssh之/etc/ssh/ssh_config文件 
vi /etc/ssh/ssh_config 
Host * 
ForwardAgent no 
ForwardX11 no 
RhostsAuthentication no 
RhostsRSAAuthentication no 
RSAAuthentication yes 
PasswordAuthentication yes 
BatchMode no 
CheckHostIP yes 
StrictHostKeyChecking ask 
IdentityFile ~/.ssh/identity 
Port 22 
Cipher 3des 
EscapeChar ~ 

5]配置openssh之/etc/ssh/sshd_config文件 
vi /etc/ssh/sshd_config 
Port 22 
ListenAddress 0.0.0.0 
ListenAddress :: 
HostKey /etc/ssh/ssh_host_key 
HostKey /etc/ssh/ssh_host_rsa_key 
HostKey /etc/ssh/ssh_host_dsa_key 
KeyRegenerationInterval 3600 
ServerKeyBits 768 
SyslogFacility AUTH 
LogLevel INFO 
LoginGraceTime 600 
#PermitRootLogin yes #還是不要讓root直接登錄為妙! 
StrictModes yes 
RSAAuthentication yes 
PubkeyAuthentication yes 
RhostsAuthentication no 
IgnoreRhosts yes 
RhostsRSAAuthentication no 
HostbasedAuthentication no 
IgnoreUserKnownHosts no 
PasswordAuthentication yes 
PermitEmptyPasswords no 
Subsystem sftp /usr/local/ssh/libexec/sftp-server 

6]配置用戶的加密密鑰 
useradd test 
passwd test 
su test 
ssh-keygen -d 
出現提示請回車並輸入passwd,再次輸入passwd。 
注:這個密碼是系統加密運算時用到的,登錄時還用原來密碼。 

7]啟動服務 
/etc/rc.d/init.d/sshd start 

8]在客戶端用test帳號進行測試。 


亂七八糟寫了一大篇,也該收尾了,冰凍三尺非一日之寒,要多練多問多看多寫,前進吧,朋友! 

Copyright © Linux教程網 All Rights Reserved