|
? 有兩種方法可以實現遠程管理Linux桌面窗口,其中一個就是是我們所選擇的X顯示管理器(X display manager)或者說xdm,另一個流行的解決方案是vnc。我選擇xdm而不是vnc出于兩點原因。第一,vnc要有個服務端的守護進程,為每個共享的桌面運行。第二,我已經有X服務器的軟件安裝在所有的工作站上,不想再添加額外的客戶端軟件了。
我們先來了解一些X系統方面的知識,X是用在大多數UNIX系統中的圖形支持系統。如果你在你的Linux機器上使用GNOME或者KDE的話,你就正在使用X系統。它由X聯盟(www.X.org)定義并維護。大多數的Linux用戶使用的都是由XFree86 項目 (www.xfree86.org)提供的X Window系統的實現。xdm 是一個顯示管理器,提供了靈活的任務管理功能。然而xdm通常被認為是“GUI的登陸屏幕,可以自動啟動我的X任務”,我們會看到實際上它要更為強大。
? xdm 使用X聯盟的X顯示管理控制協議,即XDMCP,來和X服務器通信。它允許X服務器從運行xdm服務的服務器上獲得會話服務。
? 當使用xdm管理這些X任務的時候在設置上有些復雜。但設置xdm 可以得到本地的和其他服務器上的桌面了。我們下面將介紹服務器上配置xdm的方法和步驟,這里描述的配置允許任何的 XDMCP 客戶訪問 Linux 服務器桌面環境(當然了影響了X的安全)。
? 第一步,我們在Linux系統下,修改/etc/X11/xdm/Xaccess文件,找到下面的語句:# * #any? host? can? get? a? login? window
?
去掉最前面的#號,成為
??
第二步,我們修改/etc/X11/gdm/gdm.conf文件,找到下面的語句:
?
? 將其中的Enable=false 改為Enable=true 或 Enable=1。
? 同時我們要確保存在下面的語句,因為177端口是我們要配置的xdmcp服務的監聽端口,我們在后面配置xmanager將看到。
?
?? 第三步,我們要修改/etc/inittab文件,將下面的語句
?
? 改為如下,如果原來就是id:5:initdefault:就不用更改。
?
? 同時,找到如下圖文字所在的地方,
?
? 將它修改為x:5:respawn:/usr/bin/gdm,即如下圖所示,
?
?? 第四步,我們修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一個!號,結果如下
?
? 第五步,我們修改確保/etc/X11/xdm/Xservers的屬性為444,/etc/X11/xdm/Xsetup_0的屬性為755,在RedHat 9.0中,我們可以看到這兩個文件默認的屬性就是444和775,因此不用修改。
?
?? 最后,如果我們的Linux機器配置有防火墻,為防止防火墻將通過177端口(即xdmcp服務)的數據過慮,我們必須加上如下的規則:
?? iptables? -A? INPUT? -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
?
至此為止,我們在Linux下的配置xdm已經基本完成。但上面這些配置還只是x服務器端的配置,我們要想實現在Windows遠程桌面控制Linux,還必須要
有Windows下的客戶端工具,xmanager正是這樣的一個工具,它是一個簡單易用的高性能的運行在Windows平臺上的 X Server 軟件。我們現在來介紹xmanager的在Windows下的安裝和配置技巧,這里我使用的機器是windows xp。
我們先下載xmanager的安裝文件,我下載的是xmanager1.3.9,安裝后,在安裝目錄下,我們點擊xconfig,選擇xdm,如下圖,選擇”XDM Indirect”,在 host:后面填上我們已經配置好的Linux系統的ip,注意下面的XDMCP Port:177, 這就是我們在配置Linux服務器時必須保證 port=177的原因。
?
然后我們雙擊xmanager安裝目錄里的xmanager,出現下面的畫面,
?
選擇圖中的linux機器,然后點擊“連接”即可以連接到我們的redhat登陸桌面了。
?
輸入用戶名,確定后系統會提示讓你輸入密碼,驗證成功后就可以使用我們的redhat桌面了,效果如下:
?
本文介紹了windows下通過xmanager來遠程桌面控制Linux的方法,并具體介紹了xdm和xmanager的配置和使用方法,希望給大家帶來一定的幫助。
參考文獻:
1:《配置XDM--一種Linux的圖形登錄界面》? http://www.hackhome.com/2005/7-14/00414266097.shtml
2:《XManager 系統配置簡介》 http://www.7622.com/list/47086.htm
3,如果沒有安裝XDM,可以直接到第三張安裝盤那里找出xdm的rpm包安裝。
一,要點:
1.安裝squid包,并啟動squid服務(service squid start)
2.編輯squid.conf文件
3.設置iptables的nat規則。
4.重啟squid服務。
二,重點描述:
1.分析squid.conf
因為suid.conf文件比較復雜,自己寫起來麻煩,所以最好直接在原文件上修改,以達到你的
目的,但在修改之前,最好做個備份。
本文會提到一些要修改的地方,然后,提示怎么修改,最好在注釋的后面添加,不要修改原文。
=====>找到httpd_accel_host
修改為:httpd_accel_host virtual
=====>找到# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
下面有一些提示:
#acl our_networks src 192.168.1.0/24 192.168.2.0/24
#http_access allow our_networks
根據你的內部網地址,修改為:
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
======>找到cache_peer
這是實現多重代理,后有一大堆的說明。
假設你有一個http代理,在這里設定之后,客戶端就不用手動設了。
這里假設你有http代理:
在注釋的后面添加:
cache_peer
照這樣,你可以多設幾條,加快訪問速度嘛。至于后面的選項,配置文件里有說明。
======>如果你想限制某些站點不讓客戶端登陸
找到# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
就象上面所說的那樣,可以多定義幾個acl:
acl our_networks src 192.168.1.0/24 192.168.2.0/24
acl deny_networks src 192.168.1.0/24 192.168.2.0/24
http_access deny deny_networks
http_access allow our_networks
需要注意的是:acl后面的名稱要惟一,且deny規則放在allow規則前面。
======>如果你想加速squid代理
重新編譯內核和squid是方法一。方法二是修改squid.conf的配置參數,到底要修改什么,
請仔細閱讀注釋掉的說明文字。
2.設定iptables的nat規則。
作為試驗,你最好在iptables里只保留下面兩條規則。注意:iptables只能在網關上設定。
假設你的squid服務開啟在192.168.1.1,當然squid服務可以開啟在任何地方。
規則一,偽裝內網IP:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
規則二,實現透明代理:
# iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth0 -p tcp --dport
80 -j DNAT --to-distination 192.168.1.1:3128
如果你不明白,192.168.2.0/24怎么辦,你想想網關和客戶機的關系。然后仿照上面的規則
寫到相應網關機器的iptables鏈。
3.重啟服務:service squid restart,如果失敗的話,用 ps -A | grep squid 找到
squid的進程號,然后 kill -9 squid-ID。然后,service squid start.
三,總結:
為什么用squid?有兩大有點:1)作為簡單的網站過濾。2)作為網頁的緩沖, 提高客戶機訪
問速度。
前言:NIS是我們比較不常用的東西,但是在某些集中管理方面,有一定用途。本文以實驗快速認識NIS。
[實驗目的]
1.配置NIS服務端。
2.配置NIS客戶端。
[實驗要求]
1.兩臺互通的RH8.0機。
2.機器1的IP:192.168.0.1
3.機器2的IP:192.168.0.2
[實驗步驟]
一.配置NIS服務端。
1.機器1將作為服務端,檢查機器1是否裝有下列軟件?
ypserv
ypbind
yp-tools
make
缺什么包,安裝什么包。
2.機器1編輯/etc/sysconfig/network,追加下列一行:
NISDOMAIN=REDHAT
3.機器1為立刻使上述設置生效,運行:
# domainname REDHAT
4.機器1編輯/var/yp/Makefile,找到all: passwd group ......這一行,修改如下:
all: passwd group
5.機器1起動portmap,ypserv服務:
# service portmap start
# service ypserv start
6.機器1初始化NIS數據庫,運行:
# /usr/lib/yp/ypinit -m
注意:1) 若以上配置有問題,會顯示出錯。
2) 提示增加hosts,按[CTRL-D]
7.機器1若上部沒有錯誤,重新起動ypserv
# service ypserv restart
8.機器1啟動密碼進程:
# service yppasswdd start
9.機器1檢查進程是否真的運行,運行:
# ps auxf | grep yp
10.機器1檢查日志確定,NIS服務真的正常,運行:
# tail /var/log/messages
二.配置NIS客戶端。
1.機器2作為NIS客戶端,檢查機器2是否安裝了下列包:
portmap
ypbine
yp-tools
authconfig
缺什么包,安裝什么包。
2.機器2確認服務端打開portmap服務:
# rpcinfo -p 192.168.0.1
3.機器2用authconfig工具,配置客戶端訪問服務器。
Use NIS 前選中,Domain: REDHAT ,Server: 192.168.0.1
4.機器2authconfig結束時,ypbind會自動啟動。觀察 /var/log/messages 末尾有無報錯。
5.機器2運行# ypcat passwd 看服務器提供了哪些用戶。
6.機器1上新增賬戶:nisuser
# useradd -u 1200 nisuser
# passwd nisuser
7.機器2上新增賬戶: localuser
# useradd -u 1300 localuser
# passwd localuser
8.在NIS服務器用nisuser登錄,在NIS客戶端用localuser登錄,會成功。
試著在客戶端用nisuser登錄,會成功嗎?
9.在機器1,/var/yp/目錄下運行:make,然后再在NIS客戶端用nisuser登錄,成功嗎?
在$的提示符前有nisuser的目錄提示嗎?
10.當NIS服務器端,NIS客戶端有一個相同的賬戶usernis,且NIS服務端/var/yp/下,make
過。在NIS客戶端用usernis登錄,這個賬戶是服務端還是客戶端提供的?
[實驗恢復]
1.NIS客戶端的authconfig 里,關掉NIS。
2.在NIS服務器端,NIS客戶端關掉相應打開的服務。
[實驗總結]
NIS的集中式管理,不止passwd,group,在編輯/etc/yp/Makefile時,all:的后面
有很多。至于怎么用,在實踐中,還需自己摸索。我們在這里,明白NIS是怎么回事就可
以了。畢竟,用它的機會不多。
前言,Vsftp是一種相當安全的ftp服務器,而且vsftp成為RH8.0與9.0的標準ftp服務器。
本文用實驗的方法快速配置Vsftp。
[實驗目的]
1.配置一個允許anonymous用戶下載的ftp服務。
2.配置一個允許anonymous用戶上傳的ftp服務。
[實驗要求]
一臺RH8.0機,IP:192.168.0.1。如果9.0,配置文件在/etc/vsftpd/vsftpd.conf,且vsftpd
包集成anonftp包,配置方式一樣。
[實驗步驟]
1.配置一個允許anonymous用戶下載的ftp服務。
1) 關閉iptables。
# service iptables stop
# chkconfig iptables off
2) 安裝軟件包。
查看下列軟件包裝了沒有?
xinetd
vsftpd
anonftp
缺什么,裝什么。
3) 啟動vsftp服務。
# chkconfig vsftpd on
# service xinetd restart
注意:若是RH9.0,用service vsftpd start.
4) touch /var/ftp/pub/iAmVsftpServer
5) ftp客戶端登陸,如:用lftp匿名登陸
# lftp 192.168.0.1
注意:能下載/pub/iAmVsftpServer嗎?
2.配置一個允許anonymous用戶上傳的ftp服務。
1) 在/var/ftp/創建一個上傳目錄,并修改權限。
# mkdir /var/ftp/incoming
#chown root.ftp /var/ftp/incoming
#chmod 730 /var/ftp/incoming
2) 編輯/var/vsftpd.conf.(注意:rh9.0為/var/vsftpd/vsftpd.conf)
找到# anon_upload_enable=YES下面,增加下列四行:
anon_upload_enable=YES
chown_uploads=YES
chown_username=daemon
anon_umask=077
且確保 anonymous_enabled=YES有效。
3)用ftp客戶端軟件登陸192.168.0.1.能上傳到incoming目錄嗎?
4)觀察/var/log/vsftpd.log的內容。
[實驗總結]
本文沒有解釋配置文件里內容的意思,并且大部分都用默認的配置,如果想了解各項
配置的意義,參考各項上面#號后的注釋。
[題外話]
由于vsftp的訪問目錄在/var/ftp/,難道把所有提供下載的東西全cp到/var/ftp/pub
下嗎?不需要! 假設,你在/data下有個目錄叫 /movie ,現在我們把此目錄的東西供出
下載。第一步,# mkdir /var/ftp/pub/movie . 第二步,掛載,# mount -o ro --bind
/data/movie /var/ftp/pub/movie.現在是不是輕松提供下載呢?注意:提供下載的目錄
權限設置。
前言:nfs是linux,unix系統之間高速共享的一種方式,本文用實驗的方式快速配置nfs。
[實驗目的]
實現nfs共享。
[實驗要求]
1.兩臺RH9.0的機器。
2.機器1,IP:192.168.0.1
3.機器2, IP:192.168.0.2
[實驗步驟]
1.關掉兩臺機的iptables
# service iptables stop
# chkconfig iptables off
2.機器1上,安裝下列包
nfs-utils
portmap
缺什么,裝什么。
3.兩臺機上,創建一個用戶共享他的home目錄。
# useradd -u 1500 nfsuser
# passwd nfsuser
設密碼:nfsuser
注意:nfsuser的UID相同,當然不一定用1500
4.機器1,編輯/etc/exports
/home/nfsuser 192.168.0.2(rw)
注意:IP和()選項之間,不可以有空格。
5.機器1,啟動服務.
# service portmap restart
# service nfs restart
# service nfslock restart
# rpcinfo -p
程序 版本 協議 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 32768 status
100024 1 tcp 32768 status
391002 2 tcp 32769 sgi_fam
100011 1 udp 668 rquotad
100011 2 udp 668 rquotad
100011 1 tcp 671 rquotad
100011 2 tcp 671 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100021 1 udp 32793 nlockmgr
100021 3 udp 32793 nlockmgr
100021 4 udp 32793 nlockmgr
100005 1 udp 32794 mountd
100005 1 tcp 32979 mountd
100005 2 udp 32794 mountd
100005 2 tcp 32979 mountd
100005 3 udp 32794 mountd
100005 3 tcp 32979 mountd
6.機器1,初試化共享目錄
# exportfs -v
# exportfs -r
# showmount -e 192.168.0.1
7.如果顯示出正確的共享列表的話,在機器2上掛載機器1的/home/nfsuser。
# mount -t nfs -o rw 192.168.0.1:/home/nfsuser /mnt/cdrom
8.在機器2上,分別用root,nfsuser帳戶對/mnt/cdrom進行讀寫操作。出現什么情況?
你有什么結論?
[實驗總結]
本文對于exportfs 中的選項只用了rw,比較簡單。其他選項,可以參考man exports.它
還會提供更多的例子,及其分析。如果想深入了解,必須對它進行研究。
前言: DHCP,Dynamic Host Configuration Protocal,它方便了計算機網絡管理。本文用
實驗的方式快速學會配置DHCP
[實驗目的]
1.配置一個DHCP服務器。
2.用客戶端檢驗DHCP服務器。
[實驗要求]
1.兩臺RH9.0的機器。
2.機器1,IP:192.168.0.1
3.機器1是1個DNS服務器,網絡名:example.com,192.168.0.1的host叫server1,
192.168.0.2的host叫station2.
[實驗步驟]
1.機器1上,檢查并安裝dhcp包。
2.機器1上,到dhcpd的文檔復制一分配置例子。
cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
3.機器1上,編輯/etc/dhcpd.conf內容如下:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.0.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
# option nis-domain "domain.org";
option domain-name "example.com";
option domain-name-servers 192.168.0.1;
option time-offset -18000; # Eastern Standard Time
# option ntp-servers 192.168.1.1;
# option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
range 192.168.0.1 192.168.0.2;
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
host station2 {
hardware ethernet 00:E0:4E:E8:9B:BC;
fixed-address 192.168.0.2;
}
}
注意:這里假設機器2的網卡Mac地址為: 00:E0:4E:E8:9B:BC,你可以用ifconfig查看機
器2的Mac地址,作相應修改。
4.機器1上,用ifconfig觀察結果,是否子網卡的廣播地址設置正確:如:192.168.0.255。
若不正確,請修改網絡配置。
5.機器1上,啟動dhcpd服務。
# service dhcpd restart
注意:若不能啟動,觀察/var/log/message.
6.機器2上,修改/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
7.機器2上,刪除/etc/resolv.conf的所有內容。
8.機器2上,初試化網卡。
# ifdown eth0
# ifup eth1
9.機器2上,用ifconfig觀察結果,機器2的ip地址為192.168.0.2嗎?
10.DNS能夠解析嗎?
# host server1.example.com
# host station2.example.com
[實驗結論]
本文只是簡單快速的實現了DHCP設置,如果想了解更多內容,請參考DHCP的文檔/usr/
share/doc/dhcp-*目錄。本文的IP地址是根據Mac地址定制的。