歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> linux入門教程(4)

linux入門教程(4)

日期:2017/2/27 14:22:20   编辑:更多Linux
  (文:flynng) 第5章:網絡應用 5.1 常用網絡命令 在Red Hat Linux 7.1系統提供了與網絡相關的工具,掌握好這些工具是十分必要的: 第一類:設置工具 1.netconf: netconf是Red Hat Linux提供的Linuxconf的一部分,主要用於設置與網絡相關的參數。它可以在consle下運行(文本菜單),也可以在X-Window中運行(圖形界面)。在前面,我們介紹過了netconf的一些應用,它的使用比較簡單,只要認識上面的英文就可以了,所以在此就不再多說。BTW,如果你設置好了X-Window的話,用用圖形界面的netconf,會更漂亮的喲。 2.ifconfig ifconfig是Linux系統中最常用的一個用來顯示和設置網絡設備的工具。其中“if”是“interface”的縮寫。它可以用來設備網卡的狀態,或是顯示當前的設置。 下面我們簡單地說明常用的命令組合: 1) 將第一塊網卡的IP地址設置為192.168.0.1: ifconfig eth0 192.168.0.1 (格式:ifconfig 網絡設備名 IP地址) 2) 暫時關閉或啟用網卡: 關閉第一塊網卡:ifconfig eth0 down 啟用第一塊網卡:ifconfig eth0 up 3) 將第一塊網卡的子網掩碼設置為255.255.255.0: ifconfig eth0 netmask 255.255.255.0(格式:ifconfig 網絡設備名 netmask 子網掩碼) 我們也可以同時設置IP地址和子網掩碼: ifconfig eth0 192.168.0.1 netmask 255.255.255.0 4) 將第一塊網卡的廣播地址設置為192.168.0.255: ifconfig eth0 -broadcast 192.168.0.255 5) 將第一塊網卡設置為不接收多播數據包: ifconifg eth0 allmulti 如果要讓其接收,則使用命令:ifconfig eth0 -allmulti 6) 查看第一塊網卡的狀態: ifconfig eth0 如果要查看所有的網卡狀態,則直接使用不帶參數的ifconfig命令即可。 ifconfig輸出的狀態信息是十分有用的,下面,我們就簡單說明一下: 有幾個狀態比較重要: Ø UP/DOWN:網卡是否啟動了,如果是DOWN的話,那肯定無法用的; Ø RX packets中的errors包的數量如果過大說明網卡在接收時有問題; Ø TX packets中的errors包的數量如果過大說明網卡在發送時有問題; 3.route route命令是用來查看和設置Linux系統的路由信息,以實現與其它網絡的通訊。要實現兩個不同的子網之間的網絡通訊,需要一台連接兩個網絡路由器或者同時位於兩個網絡的網關來實現。 在Linux系統中,我們通常設置路由是為了解決以下問題:該Linux機器在一個局域網中,局域網中有一個網關,能夠讓你的機器訪問Internet,那麼我們就需要將這台機器的IP地址設置為Linux機器的默認路由。 1) 增加一個默認路由: route add 0.0.0.0 gw 網關地址 2) 刪除一個默認路由: route del 0.0.0.0 gw 網關地址 3) 顯示出當前路由表 route 第二類:診斷工具 1.ping ping是一個最常用的檢測是否能夠與遠端機器建立網絡通訊連接。它是通過Internet控制報文協議ICMP來實現的。而現在有些主機對ICMP進行過濾,在這種特殊的情況下,有可能使得一些主機Ping不通,但能夠建立網絡連接。這是一種特例,在此事先說明。 同樣的,在此不羅列ping命令的所有可選參數,而是通過實例來說明一些常用的組合,需要更詳細地了解的,可以通過www.linuxaid.com.cn網站在線培訓的命令查詢工具獲得。 1) 檢測與某機器的連接是否正常: ping 192.168.0.1 ping www.linuxaid.com.cn 也就是說,我們可以用IP地址或域名來指定機器。 2) 指定ping回應次數為4: 在Linux下,如果你不指定回應次數,ping命令將一直不斷地向遠方機器發送ICMP信息。我們可以通過-c參數來限定:ping -c 4 192.168.0.1 3) 通過特定的網卡進行ping: 有時,我們需要檢測某塊網卡(系統中有多塊)能否ping通遠方機器。我們需要在執行ping命令時指出: ping -I eth0 192.168.0.1 2.traceroute 如果你ping不通遠方的機器,想知道是在什麼地方出的問題;或者你想知道你的信息到遠方機器都經過了哪些路由器,可以使用traceroute命令。顧名思義:trace是跟蹤,route是路由,也就是跟蹤路由。


使用這個命令很簡單: traceroute 遠程主機IP地址或域名 這個命令的輸出類似: 1 路由器(網關)的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3 2 路由器(網關)的IP地址 訪問所需時間1 訪問所需時間2 訪問所需時間3 ……… 1) 最前面的數字代表“經過第幾站”; 2) 路由器(網關)的IP地址就是“該站”的IP地址; 3) 訪問所需時間1、2、3是指訪問到這個路由器(網關)需要的時間。 3.netstat 在Linux系統中,提供了一個功能十分強大的查看網絡狀態的工具:netstat。它可以讓您得知整個Linux系統的網絡情況。 1)統計出各網絡設備傳送、接收數據包的情況: 使用命令:netstat -i 這個命令將輸出一張表,其中包括: Iface:網絡接口名 MTU:最大傳輸單元 RX-OK:共成功接收多少個包 RX-ERR:接收的包中共有多少個錯誤包 RX-DRP:接收時共丟失多少個包 RX-OVR:共接收了多少個碰撞包 TX-OK:共成功發送多少個包 TX-ERR:發送的包中共有多少個錯誤包 TX-DRP:發磅時共丟失多少個包 TX-OVR:共接收了多少個碰撞包 2)顯示網絡的統計信息 使用命令:netstat -s 使用這個命令,將會以摘要的形式統計出IP、ICMP、TCP、UDP、TCPEXT形式的通信信息。 3)顯示出TCP傳輸協議的網絡連接情況: 使用命令:netstat -t 這個命令的輸出也是一張表,其中包括: Local Address:本地地址,格式是IP地址:端口號 Foreign Address:遠程地址,格式也是IP地址:端口號 State:連接狀態,包括LISTEN、ESTABLISHED、TIME_WAIT等。 4)只顯示出使用UDP的網絡連接情況: 使用命令:netstat -t 輸出格式也是一樣的。 5)顯示路由表: 使用命令:netstat -r 這個命令的輸出與route命令的輸出相同。 5.2 網絡配置文件 在Red Hat Linux 7.1中有一些用於存放網絡配置的文件: 1./etc/hosts 在該文件中存放的是一組IP地址與主機名的列表,如果在該列表中指出某台主機的IP地址,那麼訪問該主機時將無需進行DNS解析。 2./etc/host.conf 該文件用來指定域名解析方法的順序,如: order hosts,bind 它說明,首先通過/etc/hosts文件解析,如果在該文件中沒有相應的主機名與IP地址的對應關系,再通過域名服務器bind進行解析。 3./etc/resolv.conf 在該文件中存放域名服務器的IP地址。 4./etc/protocols Red Hat Linux 7.1系統使用該文件辨別本主機使用的,並通過它完成協議和協議號之間的映射,用戶不應修改該文件。 5./etc/services 該用戶用於定義現有的網絡服務,用戶無需修改它,它通常由安裝網絡服務的程序來維護。該文件包括網絡服務名、網絡端口號和使用的協議類型,其中網絡端口號和使用的協議類型之間有一個斜槓分開,在設置行的最後還可以添加一些服務的別名。 5./etc/xinetd.d目錄 在Linux系統中有一個超級服務程序inetd,大部分的網絡服務都是由它啟動的,如chargen、echo、finger、talk、 telnet、wu-FTPd等…,在7.0之間的版本它的設置是在/etc/inetd.conf中配置的,在Red Hat 7.0後,它就改成了一個xinetd.d目錄。 在xinetd.d目錄中,每一個服務都有一個相應的配置文件,我們以telnet為例,說明一下各個配置行的含義: service telnet { socket_type=stream wait=no user=root server=/usr/sbin/in.telnetd log_on_failure+=USERID disable=yes } 第一行,說明該配置用來設置telnet服務。 第二行,說明Socket連接類型是stream,也就是TCP 第三行,是指不等待到啟動完成 第四行,是指以root用戶啟動服務進程 第五行,是指服務進程是/usr/sbin/in.telnetd 第六行,是用於做一些出錯日志 第七行,是指禁止遠方telnet,如果需要開放則將該配置改為:disable=no 修改了xinetd的配置,需要重啟xinetd才能夠生效,有兩種方法可以實現: 1) 執行如下命令: /etc/rc.d/init.d/xinetd restart 2) 執行如下命令: killall -HUP xinetd 5.3 網絡服務訪問限制 在Red Hat Linux 7.1中加強了網絡安全的防范,如果你安裝時安全等級不是在最低一級的話,那麼本機之外的所有訪問都可能被拒絕。這是因為在Red Hat 7.1中做了一些默認的ipchains設置,這是Linux內置的防火牆機制,它可以使用一些規則來允許或禁止某種訪問。

它的規則存放在/etc/sysconfig/ipchains文件中,如果你想讓它暫時不生效,那你可以運行/etc/rc.d/init.d/ipchains stop,那麼所有的規則都被取消,所有的網絡訪問都將被允許。 你可以運行/etc/rc.d/init.d/ipchains status來獲知現在對網絡訪問的限制。關於這方面的知識,本文限於篇幅無法詳細介紹,有興趣的讀者可參考《Linux防火牆》一書。 5.4 WEB服務器 在Linux系統中最適合於做服務器的當數Apache,Red Hat Linux 7.1中集成了Apache 1.3.19版,你只要在安裝時選中WEB服務器,那麼系統將自動完成Apache服務器的安裝,在默認情況,WWW服務就已經啟動了。 如果你在安裝時沒有選擇WEB服務器包,那也沒有關系,你只需執行以下命令即可: 1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅,然後執行如下命令: # mount /mnt/cdrom 2) 轉到apache安裝文件所在目錄: # cd /mnt/cdrom/RedHat/RPMS 3) 使用RPM完成安裝: # rpm -ivh apache-1.3.19-5.i386.rpm 現在,你就已經擁有一個基於Linux的WEB服務器了,它的配置文件位於/etc/httpd/conf目錄下,你可根據需要進行相應的修改,修改完後執行:/etc/rc.d/init.d/httpd restart即可。而WEB服務的主目錄則在/var/www/Html目錄下,你可以將你的 WEB頁傳到這裡就可以更新了。 而如果每一個用戶都想要擁有一個自己的主頁的話,則: 1) 首先在自己的用戶主目錄下建一個public_html目錄: # cd # mkdir public_html 2) 然後將自己的用戶主目錄的權限改為大家可讀 # chmod 755 用戶主目錄 3) 這樣你就可以使用“localhost/~用戶名/”訪問到每個用戶的主頁了。 5.5 FTP服務器 在Red Hat Linux 7.1中集成了Wu-FTP 2.6.1做為FTP服務器,在你安裝時只要選擇了FTP包的話,那麼你的Linux服務器就是一台FTP服務器了,如果當時沒有安裝的話,也沒有關系,跟安裝apache一樣: 1) 將Red Hat Linux 7.1安裝光盤的第一張放入光驅,然後執行如下命令: # mount /mnt/cdrom 2)轉到wu-ftp安裝文件所在目錄: # cd /mnt/cdrom/RedHat/RPMS 3)使用RPM完成安裝: # rpm -ivh wu-ftp-2.6.1-16.i386.rpm 由於FTP服務是由xinetd超級服務器創建的,所以關於FTP服務器的配置在/etc/xinetd.d目錄下的wu-ftpd文件中: service ftp { socket_type=stream wait=no user=root server=/usr/sbin/in.ftpd server_args=-l -a log_on_sUCcess+=DURATION USERID log_on_failure+=USERID nice=10 disable=no } 下面,我們介紹一些關於FTP服務器的管理方法: 1、 暫時關閉FTP服務 有兩種方法可以使FTP服務暫停: 1) 以root用戶身份執行: # ftpshut now 這樣就會在/etc目錄下生成一個shutmsg的文件,這時FTP服務器將無法使用,直到你刪掉這個文件。 2) 修改配置文件/etc/xinetd.d/wu-ftpd,將disable=no改為disable=yes,然後重啟xinetd。 2、 禁止某用戶使用FTP服務 有兩種方法可以禁止某用戶使用FTP服務器: 1) 在/etc/ftpuser中寫入該用戶帳號名 2) 在/etc/ftpAccess中寫入一行配置: deny-uid 用戶名 用這種方法還可以禁止一個組的用戶使用 deny-gid 組名 3、 禁止匿名用戶(anonymous)登錄FTP服務器 有許多種方法可以實現,但我覺得最簡單有效的方法就是將anonymous寫入配置文件:/etc/ftpuser中,就可了。 5.6 文件服務器 我們還可以使用Red Hat Linux 7.1內置的Samba為局域網內的Windows主機做文件服務器。如果在安裝系統時選擇了SMB服務器軟件包的話,那麼安裝完以後,Samba服務就已經Ready了。 不過為了方便配置,建議安裝一下swat,它提供了一個WEB界面的配置工具。它的安裝包是第二張光盤的/RedHat/RPMS/samba-swat-2.0.7-36.i386.rpm。 安裝完以後,它會在xinetd.d目錄中新建一個swat文件,其內容為: service swat { port=901 socket_type=stream wait=no

only_from=127.0.0.1 server=/usr/sbin/swat log_on_failure+=USERID disable=yes } 我們看到disable的值是yes,也就是說,現在swat還沒有啟用,因此,我們需要將其改為disable=no,然後重啟xinted。另外,由於這裡有一句: only_from=127.0.0.1 說明只能在本機使用swat,而如果你想在Windows中用IE來配置的話,請將這句注釋掉或刪掉。 下面,我們以設置一個大家都可以訪問的homes目錄為例,說明SWAT的設置方法: 1) 打開IE浏覽器,在地址欄上輸入Linux的主機名或IP以及“:901”,例如: http://192.168.0.1:901 2) 如果連接正常,將出一個登錄提示窗,要求輸入用戶名與密碼,在此以root為用戶名,並輸入root用戶的密碼,再單擊確定; 3) 如果輸入無誤,將出現Samba的配置界面:Swat的首頁; 我們可以看到在Swat界面中,最上面有7個圖標,分別是:HOME(首頁)、GLOBALS(全局設置)、SHARES(共享設置)、PRINTERS(打印機)、STATUS(狀態)、VIEW(查看)、PASSWord(密碼) 4) 首先,我們單擊GLOBALS圖標,將出現GLOBALS設置頁面,其中我們對以下幾項進行設置: Ø BaseOption à Workgroup:在些輸入工作組名(如NetBIOS中的工作組名) Ø BaseOption à Netbios name:主機名 Ø SecurityOption à Security:選擇安全等級,在些選擇“SHARE” Ø SecurityOption à hosts allow:允許的主機,通常寫入你的網絡號,如192.168.0. Ø SecurityOption à hosts deny:如果你不讓某台機器使用,則寫入它的IP地址 修改完後,點擊“Commit Changes”按鈕(在7個圖標的下邊一些),保存設置。 5) 然後,單擊SHARES圖標,進行共享設置: 第一步:在Create Share按鈕的右邊文本框中輸入要設置的共享名 第二步:單擊“Create Share”按鈕; 第三步:確認“BaseOptions à Path的值為你想共享的目錄,例如/home/smb/test(注意這必須是已經存在的目錄); 第四步:將“SecurityOptions à writeable”的值設置為Yes,使該目錄共享為可寫; 第五步:將“SecurityOptions à guest ok”的值設置為Yes,使該目錄無需密碼訪問; 第六步:在“SecurityOptionsàhosts allow、hosts deny”中設置相應的主機IP; 第七步:將“BrowseOptionsàbrowseable”設置為Yes,使其便於使用 最後,點擊“Commit Changes”按鈕,保存設置。 現在,我們就可以在Windows 9x上通過網絡鄰居訪問到這台Samba服務器,並且有一個可讀、可寫的共享目錄。 在平時使用的時間,系統管理員可以點擊“STATUS”按鈕,切換到狀態頁面對其進行監測,在這個頁面上,你可以: 1) 啟動(Start smbd按鈕)、停止Samba(Stop Smbd按鈕)服務,以及重啟服務(Restart smbd按鈕); 2) 另外,你可以看到當前與Samba服務器建立的連接(Active Connections),並且可以按下“X”按鈕,中止它的訪問; 3) 同時你還可以檢測到正在訪問的文件夾(Active Shares),正打開的文件(Open Files)。 Samba服務還可以對用戶進行認證,與Window NT域進行集成等強大的功能,在些限於篇幅就不詳細介紹,有興趣的讀者可以參考《實戰Samba》一書。



4) 首先,我們單擊GLOBALS圖標,將出現GLOBALS設置頁面,其中我們對以下幾項進行設置: Ø BaseOption à Workgroup:在些輸入工作組名(如NetBIOS中的工作組名) Ø BaseOption à Netbios name:主機名 Ø SecurityOption à Security:選擇安全等級,在些選擇“SHARE” Ø SecurityOption à hosts allow:允許的主機,通常寫入你的網絡號,如192.168.0. Ø SecurityOption à hosts deny:如果你不讓某台機器使用,則寫入它的IP地址 修改完後,點擊“Commit Changes”按鈕(在7個圖標的下邊一些),保存設置。 5) 然後,單擊SHARES圖標,進行共享設置: 第一步:在Create Share按鈕的右邊文本框中輸入要設置的共享名 第二步:單擊“Create Share”按鈕; 第三步:確認“BaseOptions à Path的值為你想共享的目錄,例如/home/smb/test(注意這必須是已經存在的目錄); 第四步:將“SecurityOptions à writeable”的值設置為Yes,使該目錄共享為可寫; 第五步:將“SecurityOptions à guest ok”的值設置為Yes,使該目錄無需密碼訪問; 第六步:在“SecurityOptionsàhosts allow、hosts deny”中設置相應的主機IP; 第七步:將“BrowseOptionsàbrowseable”設置為Yes,使其便於使用 最後,點擊“Commit Changes”按鈕,保存設置。 現在,我們就可以在Windows 9x上通過網絡鄰居訪問到這台Samba服務器,並且有一個可讀、可寫的共享目錄。 在平時使用的時間,系統管理員可以點擊“STATUS”按鈕,切換到狀態頁面對其進行監測,在這個頁面上,你可以: 1) 啟動(Start smbd按鈕)、停止Samba(Stop Smbd按鈕)服務,以及重啟服務(Restart smbd按鈕); 2) 另外,你可以看到當前與Samba服務器建立的連接(Active Connections),並且可以按下“X”按鈕,中止它的訪問; 3) 同時你還可以檢測到正在訪問的文件夾(Active Shares),正打開的文件(Open Files)。 Samba服務還可以對用戶進行認證,與Window NT域進行集成等強大的功能,在些限於篇幅就不詳細介紹,有興趣的讀者可以參考《實戰Samba》一書。



修改完後,點擊“Commit Changes”按鈕(在7個圖標的下邊一些),保存設置。 5) 然後,單擊SHARES圖標,進行共享設置: 第一步:在Create Share按鈕的右邊文本框中輸入要設置的共享名 第二步:單擊“Create Share”按鈕; 第三步:確認“BaseOptions à Path的值為你想共享的目錄,例如/home/smb/test(注意這必須是已經存在的目錄); 第四步:將“SecurityOptions à writeable”的值設置為Yes,使該目錄共享為可寫; 第五步:將“SecurityOptions à guest ok”的值設置為Yes,使該目錄無需密碼訪問; 第六步:在“SecurityOptionsàhosts allow、hosts deny”中設置相應的主機IP; 第七步:將“BrowseOptionsàbrowseable”設置為Yes,使其便於使用 最後,點擊“Commit Changes”按鈕,保存設置。 現在,我們就可以在Windows 9x上通過網絡鄰居訪問到這台Samba服務器,並且有一個可讀、可寫的共享目錄。 在平時使用的時間,系統管理員可以點擊“STATUS”按鈕,切換到狀態頁面對其進行監測,在這個頁面上,你可以: 1) 啟動(Start smbd按鈕)、停止Samba(Stop Smbd按鈕)服務,以及重啟服務(Restart smbd按鈕); 2) 另外,你可以看到當前與Samba服務器建立的連接(Active Connections),並且可以按下“X”按鈕,中止它的訪問; 3) 同時你還可以檢測到正在訪問的文件夾(Active Shares),正打開的文件(Open Files)。 Samba服務還可以對用戶進行認證,與Window NT域進行集成等強大的功能,在些限於篇幅就不詳細介紹,有興趣的讀者可以參考《實戰Samba》一書。



Copyright © Linux教程網 All Rights Reserved