環境:host
: Windows XP SP2 guest : VMWARE Fedora10
linux網路設定:
1 、 查看本機物理網卡的內網IP:192.168.1.252,後面可以ping一下該ip,則可知道橋接是否成功。
2 、 關閉 Fedora10 中的防火牆,#service iptables stop
3 、 設定虛擬機器中的 Linux 為橋接模式:
a) 選擇橋接模式 ;
b) Edit——Virtual Network Settings——Host Virtual Network Mapping , 在 VMnet0 的下拉框中選擇電腦的物理網卡 ; 進入 Automatic Bridging 選項卡 —— 選中 Automatic bridging—— “ Add ” —— 在彈出的對話方塊中選則物理網卡 —— 確定
4 、 Linux 中,系統 —— 管理 —— 網路裝置控制 —— 配置 —— 硬體 —— 雙擊其中的網卡在出現的對話方塊中,在下拉式清單中選 eth0—— 確定 —— 回到網路設定 —— 裝置 —— 雙擊其中的網卡 —— 選靜態設定的 IP 位址,在地址中添: 192.168.1.2 (主機和虛擬機器中的客戶機最好設到一個網段上) 子網路遮罩: 255.255.255.0 預設閘道地址: 192.168.1.1—— 確定 —— 回到網路設定 —— 啟用。在Fedora10中,GUI介面的IP設定有問題,可以通過配置/etc
/sysconfig/networking/devices/ifcfg-eth0檔案來設定靜態IP。
TFTP伺服器:
1. 檢查系統中是否有安裝好 TFTP SERVER : #rpm –qa | grep tftp ,若出現 tftp-server-0.49-1.fc10.i386 之類的提示,說明系統中已經裝好了 TFTP 服務了,否則還得安裝tftp服務。
2 #vim /etc/xinetd.d/tftp 配置 tftp ,將 disable 的值改為 no , server_args 的值為伺服器的目錄路徑,可以根據需要更改。
3 #service xinetd start ( chkconfig 佈建服務的方式是可以開機啟動的 Linux 服務有六個運行層級,可以通過 chkconfig 來配置每個層級上服務健全狀態, #chkconfig –list 可以列出系統中的所有服務及其健全狀態)) 啟動服務。
4,關閉SELinux,#vim /etc/sysconfig/selinux 將SELINUX=enforceing注釋掉,改成=disabled。或者輸入setenforce 0命令.
NFS 伺服器:
1 、 配置 NFS 服務的共用目錄 : #vim /etc/exports
/aesop/rootfs *(rw,sync,no_root_squash) 這個是配置的 NFS 服務的目錄,即被其他電腦 mount 的目錄 被其他電腦 mount 的 IP (存取權限 * 表示所有的客戶機都可以掛接此目錄, rw 表示掛接此目錄的客戶機對該目錄有讀寫權限, no_root_squash 表示允許掛接此目錄的客戶機享有該主機的 root 身份,即如果客戶機上使用者是用 root 使用者登入的,那麼在 NFS 伺服器上使用者也享有
root 許可權) , no_root_squash 選項時掛接的客戶機有主機的 ROOT 身份
2 、 #lokkit 關閉防火牆
3 、 啟動 NFS 伺服器 : #service nfs start, 一旦修改了 /etc/exports , 就要重啟 nfs 服務 #service nfs restart,顯示 mount 的目錄列表 #exportfs ,行 #mount –t nfs localhost:/aesop/rootfs /mnt, 若 nfs 服務正常 (或者 #service nfs status 查看 nfs 的狀態) , 則在 /mnt 下看到的內容應該和
/aesop/rootfs 下的內容一致 ,應該可以解決問題。運行#service nfs stop 停止 NFS 服務。
4,啟動rpcbind服務 (老版本fedora是portmap)#service rpcbind start(將核心下載後,下載檔案系統時遇到了問題:提示IP-Config: Device `eth0' not found,後來想到可能核心配置時,沒用make xconfig設定cs80x0 support,於是重新設定核心,然後重新編譯核心,就可以了!)
WireShark配置:
[root@localhost ~]# yum install wireshark-gnome
自動依賴性安裝!
samba伺服器:
軟體的安裝使用rpm –qa|gerp samba來檢查是否安裝了samba 軟體包,如果沒有安裝的話請自行安裝以下的軟體包
# rpm –ivh samba-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-winbind-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-common-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh samba-client-3.2.0-1.pre3.9.fc9.i386.rpm
# rpm –ivh system-config-samba-1.2.63-1.fc9.noarch.rpm
或者你用yum install samba* -y就可以一次搞定了。啟動samba服務#service smb start
(/etc/init.d/smb start )啟動smb服務#service nmb start (/etc/init.d/nmb start )啟動nmb服務當然你也可以使用chkconfig –-level smb 35 on 來設定啟動層級,這個不多說了。
我們來檢查一下是是否正常啟動兩個服務,使用命令 pstree | grep mb
顯示為如下如果則為正常啟動:|-nmbd|-smbd---2*[smbd]|-tomboy---2*[{tomboy}]配置smb.conf檔案知識點,samba 有四種安全層級,它們分別是:share:使用者不需要使用者名稱和就可登陸samba 伺服器user:使用者需要輸入使用者名稱和密碼才可以登陸samba伺服器server:請自行查資料,不常用,略domain:請自行查資料,不常用,略對於我們小菜來說,我們使用user層級就可以了,如果偷懶的話你可以用share
我們先備份設定檔smb.conf
#cp /etc/samba/smb.conf
/etc/samba/smb.conf.bak
然後尋找你的security = user是否為user如果是share的話改為user
#vi /etc/samba/smb.confworkgroup = WORKGROUP //設定工作群組server string = %U's samba %v //描述資訊%U代表當前登陸使用者netbios name = fedora //netbios名字,fedora9預設沒有啟用log file = /var/log/samba/log.%m //記錄檔儲存路徑%m你的windows主機名稱max log size = 50 //日誌最大容量security = user //安全層級,user需要使用者名稱和密碼,share層級則不要[share]
//建立一個共用名稱為share的共用comment = samba
//描述資訊path = /tmp/share
//共用路徑public = no //是否允許guest使用者訪問(相當於guest ok = yes/no)writable = yes //是否可寫write list = lovehack //可以寫入的使用者列表(@代表使用者組)下面建立共用目錄並添加許可權
#mkdir /tmp/share
#chmod 775 /tmp/share
#chown lovehack.lovehack /tmp/share
添加使用者並測試共用添加訪問samba的使用者,命令smbpasswd –a 使用者名稱
#smbpasswd –a lovehack
//lovehack為事先建立好的使用者
然後輸入兩次密碼就可以了,注意這裡的密碼和你登陸系統的密碼是不一樣的,只是用來訪問共用的密碼。
現在我們就可以來測試一下設定檔是否正確:testparm 一般是沒有什麼問題的。
現在我們可以用[url=file://ip/]\\ip[/url]或者[url=file://電腦名稱/]\\電腦名稱[/url] 來訪問共用了。
解決fedora10中selinux拒絕訪問共用的問題在其它版本的linux中(AS5,AS4,Centos)中做如上設定後就可以正常訪問共用了,但是在fedora9中卻不行,我們只能看到共用,但是訪問的時候會出現拒絕訪問的情況,這是為什麼呢?因為selinux對samba共用做了限制,我們只用把selinux中對samba的限制給解決了就行了,我們做如下設定就OK了,這也是我做此教程的目的:#setsebool –P samba_enable_home_dir on
#setsebool –P samba_export_all_ro on
#setsebool –P samba_export_all_rw on我們可以用命令getsebool –a | grep samba
查看上面三項是否開啟,開啟的話你的共用應該就正常了。要點:
1. 進入 /etc/samba 修改 smb.conf (加入帳號等) ----------------------- Netwrok Related Options ------------------------- workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH server string is the equivalent of the NT Description field netbios name can be used to specify a server name not tied to the hostname Interfaces lets you configure Samba to use multiple interfaces
If you have multiple network interfaces then you can list the ones
you want to listen on (never omit localhost) Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
specifiy it as a per share option as well #workgroup = MYGROUP
workgroup = WORKGROUP
#server string = Samba Server Version %v
server string = feroda10
username map = /etc/samba/smbusers
; netbios name = MYSERVER
netbios name = feroda samba; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
; hosts allow = 127. 192.168.12. 192.168.13.#============================ Share Definitions ==============================[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = charles
; valid users = %S
; valid users = MYDOMAIN\%S# ==================my share work directoy=================
[mywork]
comment = my work
path = /work
valid users = charles
writable = yes2. 修改 /etc/samba/smbusers:# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
charles = dhtshq(dhtshq 是 windows 的帳號,charles 是linux 下的帳號)
這樣的話, 可以在 windows 上以 dhtshq 登陸 samba.3.加入samba 帳號(如果需要的話):
bash-3.2# pdbedit -a charles4. 重啟 samba 服務:
bash-3.2# service smb restart
bash-3.2# service nmb restart或者
/etc/rc.d/init.d/smb start
/etc/rc.d/init.d/nmb start然後, 進入 windows 近端分享, 就可以看到共用目錄了---------------------------------------------------------------------------------------------------------
有時, 設定後, 能看到共用目錄,卻沒有許可權訪問。
在這種情況下, 可以檢查一下防火牆的設定( samba對應的連接埠有沒有開啟), 或者 關閉 selinux (修改 /etc/selinux/config).
http://user.qzone.qq.com/373131686/infocenter#!app=2&via=QZ.HashRefresh&pos=1340263709