Linux常用網路命令
網路和監控命令類似於這些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用於檢視 linux 伺服器 ip 地址,管理伺服器網路配置,通過 telnet 和 ethernet 建立與 linux 之間的網路連結,檢視 linux 的伺服器資訊等。下面讓我們看看在 Linux 下的網路和監控命令的使用。
1. hostname
hostname 沒有選項,顯示主機名字
hostname –d 顯示機器所屬域名
hostname –f 顯示完整的主機名和域名
hostname –i 顯示當前機器的 ip 地址
補充:其實使用 “hostname+新的主機名” 命令還可以臨時設定主機名,比如hostname newname
這樣用的好處是,可以臨時修改主機名稱而不用重啟。而通過/etc/sysconfig/network 檔案來修改主機名則需要重啟才能生效。當然,我們在在執行這個命令後,必須記得手動修改/etc/sysconfig/network 檔案裡面的 HOSTNAME 的值,以便後續重啟生效,這算是一個小技巧哦!
2. ping
ping 將資料包發向使用者指定地址。當包被接收,目標機器傳送返回資料包。ping 主要有兩個作用:
- 用來確認網路連線是暢通的。
- 用來檢視連線的速度資訊。
如果你 ping
補充:-c 引數可以定義 ping 的次數,指令碼中的網路判斷用得比較多,比如 ping -c 4 zhangge.net就是 ping 張戈部落格四次;而在 windows 下,則使用-n 引數來定義 ping 次數,如 ping -n 4zhangge.net
3. ifconfig
檢視使用者網路配置。它顯示當前網路裝置配置。對於需要接收或者傳送資料錯誤查詢,這個工具極為好用。
補充:Windows 用的 ipconfig,話說博主用久了 Linux,回到 windows 下回經常輸入 ifconfigo(╯□╰)o...
4. iwconfig
iwconfig 工具與 ifconfig 和 ethtool 類似。是用於無線網絡卡的 . 你可以用他檢視設定基本的 Wi-Fi 網路資訊,例如 SSID, channel 和 encryption.還有其他很多配置你也可以檢視和修改,, 包括 接收靈敏度, RTS/CTS, 傳送資料包的分片大小,以及無線網絡卡的重傳機制。
5. nslookup
nslookup 這個命令在 有 ip 地址時,可以用這個命令來顯示主機名,可以找到給定域名的所有 ip 地址。而你必須連線到網際網路才能使用這個命令。
例子. nslookup marsge.cn
你也可以使用 nslookup 從 ip 獲得主機名或從主機名獲得 ip。
補充:這個命令在 Windows 下同樣適用。
6. traceroute
一個方便的工具。可用來檢視資料包在提交到遠端系統或者網站時候所經過的路由器的 IP 地址、跳數和響應時間。同樣你必須連結到網際網路才能使用這個命令。
補充:windows 下也有個類似的命令,喜歡玩 Windows 命令的童鞋可以試試:
MS DOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 tracert 使用方式:tracert[-d][-hmaximum_hops][-jhost-list][-wtimeout] [-R][-Ssrcaddr][-4][-6]target_name 選項: -d不要將地址解析為主機名。 -hmaximum_hops搜尋目標所用的最大躍點數目。 -jhost-list鬆散的主機列表來源路由(僅IPv4)。 -wtimeout每個回覆的等候逾時(毫秒)。 -R追蹤來回路徑(僅IPv6)。 -Ssrcaddr要使用的來源地址(僅IPv6)。 -4強制使用IPv4。 -6強制使用IPv6。 舉例:tracertzhangge.net
7. finger
檢視使用者資訊。顯示使用者的登入名字、真實名字以及登入終端的名字和登入許可權。這是 unix 一個很老的命令,現在已很少使用了。
補充:另外用 who-a 命令也可以檢視使用者資訊。
8. telnet
通過 telnet 協議連線目標主機,如果 telnet 連線可以在任一埠上完成即代表著兩臺主機間的連線良好。
telnet hostname port – 使用指定的埠 telnet 主機名。這通常用來測試主機是否線上或者網路是否正常。
補充:此命令在 Windows 下同樣適用。
9. ethtool
ethtool 允許你檢視和更改網絡卡的許多設定(不包括 Wi-Fi 網絡卡)。你可以管理許多高階設定,包括 tx/rx、校驗及網路喚醒功能。下面是一些你可能感興趣的基本命令:
ethtool -i 顯示一個特定網絡卡的驅動資訊,檢查軟體相容性時尤其有用
ethtool -p 啟動一個介面卡的指定行為,比如讓介面卡的 LED 燈閃爍,以幫助你在多個介面卡或介面中標識介面名稱
ethtool -s 顯示網路統計資訊
ethtool speed <10|100|1000> 設定介面卡的連線速度,單位是 Mbps
10. netstat
發現主機連線最有用最通用的 Linux 命令。你可以使用”netstat -g”查詢該主機訂閱的所有多播組(網路)
netstat -nap | grep port 將會顯示使用該埠的應用程式的程序 id
netstat -a or netstat –all 將會顯示包括 TCP 和 UDP 的所有連線
netstat –tcp or netstat –t 將會顯示 TCP 連線
netstat –udp or netstat –u 將會顯示 UDP 連線
netstat -g 將會顯示該主機訂閱的所有多播網路。
2.ifupifup命令用於重新啟動指定的網路裝置。ifup命令的格式為:ifup 網路裝置檔名。
ifup命令使用舉例如下:
ifup eth0// 重新啟動網絡卡eth0。
ifup lo// 重新啟動本地迴繞網絡卡lo。
操作結果如下圖所示:
3.ifdown
ifdown命令用於關閉指定的網路裝置。ifdown命令的格式為:ifdown 網路裝置檔名。
ifdown命令使用舉例如下:
ifdown eth0// 關閉網絡卡eth0。
ifdown lo// 關閉本地迴繞網絡卡lo。
4.ethtool
ethtool命令用來檢視或者修改指定網絡卡的工作方式。
ethtool命令的使用舉例如下:
ethtool eth0// 檢視網絡卡eth0的工作方式,內容包括網絡卡的傳輸速度、全雙工或半雙工傳輸、網絡卡連線檢測是否啟用、網絡卡是否工作在自動協商狀態等。
ethtool –s eth0 speed 10 duplex half // 設定網絡卡eth0的傳輸速度為10M、半雙工傳輸模式。
ethtool –s eth1 speed 100 duplex full autoneg off// 設定網絡卡eth1的傳輸速度為100M、全雙工、非自動協商模式。
5.mii-tool
mii-tool命令用於檢視或修改指定網絡卡的通訊協商方式。
mii-tool命令的使用舉例如下:
mii-tool// 以簡明的形式顯示本機物理網絡卡的工作方式。
mii-tool –v// 以詳細的形式顯示本機物理網絡卡的工作方式。
mii-tool -F 10baseT-FD eth0// 設定網絡卡eth0工作在10M、全雙工模式下。
mii-tool –r eth0// 設定網絡卡eth0工作在自動協商工作模式。
mii-tool –w eth0// 實時監控網絡卡eth0工作模式的改變。
6.route
route命令用於檢視或修改主機和網路的路由資訊。操作如下圖所示:
route命令的使用舉例如下:
route// 顯示路由資訊。
route add –host 192.168.1.110 dev eth0 // 給網絡卡eth0的路由表中加入新地址192.168.1.110。
route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 // 給子網192.168.1.0新增路由和閘道器,新增加的路由和閘道器地址為192.168.1.1。
route add default gw 192.168.0.1// 給路由表中新增預設閘道器地址192.168.0.1
route del –host 192.168.1.110 dev eth0 // 刪除網絡卡eth0路由表中的地址192.168.1.110。
route del –net 192.168.1.0 netmask 255.255.255.0// 在路由表中刪除子網192.168.1.0的路由資訊。
route change 192.168.1.0 mask 255.255.255.0 192.168.10.100 // 將子網 192.168.1.0 的下一躍點地址設定為 192.168.10.100。
7.netstat
netstat命令用於顯示本機上與IP、TCP、UDP和ICMP協議相關的統計資料,該命令經常被用於檢驗本機各埠的網路連線情況。
netstat命令使用舉例如下:
netstat// 顯示本機網路連線情況。
netstat –a// 顯示所有的有效連線資訊,包括已建立的連線(ESTABLISHED)和監聽的連線請求(LISTENING)。
netstat –ac // 以連續的形式顯示所有的有效連線資訊,每隔1秒重新整理1次顯示,直到使用者中斷顯示。
netstat -i// 顯示系統中所有網路介面資訊,包括物理網絡卡、網絡卡別名和本地迴環網絡卡。
netstat –n// 顯示系統中所有已建立的連線。
netstat –r// 顯示路由表。
netstat –ta// 顯示有效的TCP連線。
netstat –ua// 顯示有效的UDP連線。
netstat –s// 顯示各個協議的統計資訊。
netstat -an | grep 2811// 顯示埠號為2811的網路連線資訊。
操作如下圖所示:
8.ping
ping命令用來檢查網路連線情況,ping命令執行時使用ICMP傳輸協議,給目標主機發出要求迴應的資訊,若目標主機的網路功能沒有問題,就會返回迴應資訊。當目標主機無效或者禁用ping功能時,ping命令的執行會失敗。ping命令的使用舉例如下:
ping 192.168.0.1 // 檢查本機與IP地址為192.168.0.1的主機的網路連線是否正常。
ping –c 3www.baidu.com
// 檢查本機與主機www.baidu.com的網路連線是否正常,並設定迴應次數為3,需要網路中的DNS伺服器將域名www.baidu.com轉換為IP地址。操作結果如下圖所示:
ping –R 202.201.32.200
// 檢查本機與IP地址為202.201.32.200的主機的網路連線是否正常,並且顯示路由資訊。
9.service
service命令能夠將目錄“/etc/init.d/”中有關網路服務或系統服務指令碼程式以一種統一的格式執行,格式為:“service 指令碼程式 選項”,常用選項有:status、stop、start、restart。service命令使用舉例如下:
service network status // 檢視網路的工作狀況,將顯示當前主機中的所有物理網絡卡和啟用的網絡卡。操作結果如下:
service network stop// 關閉當前主機中的網絡卡,該操作將停止當前主機的對外網路連線。
service network start// 開啟當前主機中的網絡卡,該操作使當前主機獲取IP地址,進行對外網路連線。
service network restart// 先執行service network stop的功能,再執行service network start的功能。操作過程如下:
service named status// 檢視當前主機域名服務狀態。操作結果結果如下:
- 使用TCP/IP連線於另一個系統
telnet ip連線ip地址
ssh ip連線伺服器
11.ftp ftp:既能操作伺服器檔案又能下載伺服器檔案
使用 ftp 複製或傳送檔案 ftp(File Transfer Protocol)允許使用者對遠地主機複製檔案,使用者毋須考慮作業系統型別,即能向或從任何具有 TCP/IP 的系統複製檔案。 ftp命令允許複製目錄中的一個檔案或所有檔案,但不能複製多層 次目錄。使用ftp時, 必需在遠地主機上設有帳戶。 當 ftp 註冊到遠地系統時,並未得到 shell ,而是通過 ftp 命令解釋程式同遠地主機進行通訊。
lcd//本地目錄
cd//ftp端目錄
mput:local-files 將本地主機中一批檔案傳送到遠端主機
例如:如果要把本地當前目錄下所有.txt檔案上傳到伺服器/home/boss/1324wsqb目錄下,則可以進行以下操作:
cd /home/boss/1324wsqb
mput *.txt(回車)
注意:上傳檔案都來自於主機的當前目錄下,比如,在/home/briup/BriupLearn/day03test下執行的ftp命令,則只有在此目錄下的檔案才會上傳到伺服器
mget: 格式mget[remote-files],從遠端主機接受一批檔案至本機 ,如果獲取伺服器/jdJava/目錄下的所有檔案,
則可以使用
ftp>cd /jdJava
ftp>mget *.*(回車)
注意:檔案此時都下載到了Linux主機的當前目錄,比如,在/home/briup/下執行ftp命令,則檔案都下載到了/home/briup/下面
get:格式:get[remote-file][local-file] get day3.txt /home/briup/BriupLearn/day03test/dayfromftp.txt獲取FTP伺服器上面的檔案day3.txt,存放於/home/briup/BriupLearn/day03test/dayfromftp.txt,並且改名為dayfromftp.txt
put:格式:put[local-file][remote-file]比如: put /home/briup/BriupLearn/day03test/test1.txt MyTestftp.txt使用put語句,把本地目錄中的test1.txt上傳到ftp伺服器,命名為MyTestftp.txt
bye 退出
12. ssh
如果ubuntu系統中沒有安裝ssh程式,也可以使用下列命令進行安裝:
sudo apt-get install openssh-client
sudo apt-get install openssh-server
安裝好後ssh服務的啟動和停止命令如下:
啟動ssh服務:
#sudo /etc/init.d/ssh start
停止ssh服務:
#sudo /etc/init.d/ssh stop
重啟ssh服務:
#sudo /etc/init.d/ssh restart
開啟shell終端,通過ifconfig命令,檢視該系統的ip地址,ssh的埠號一般為22.
輸入ubuntu系統的ip地址和賬戶名,並根據提示輸入密碼,即可通過ssh登入到ubuntu系統中去,並執行各種命令操作
ssh能夠登入到其他系統,如下面命令登入到Ubuntu系統的user使用者,其中該使用者的ip地址為192.168.64.222:--- 如下所示:
- sshuser@192.168.64.222
- Theauthenticityofhost'192.168.64.222(192.168.64.222)'can'tbeestablished.
- ECDSAkeyfingerprintisSHA256:W52Quk6D/OJrHMXg4csff9v1XgbSK9zts8PAft9ItHY.
- Areyousureyouwanttocontinueconnecting(yes/no)?yes
- Warning:Permanentlyadded'192.168.64.222'(ECDSA)tothelistofknownhosts.
- user@192.168.64.222'spassword:
- WelcometoUbuntu16.10(GNU/Linux4.8.0-41-genericx86_64)
即可登入成功
以上就是Linux中網路命令的使用過程
.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
pingwww.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》一書。
配置IP的方法:
A、這種方法立即生效,但是重啟將不會儲存。(除了這個方法的其它方法都可以儲存下來)
Ifconfig eth0 1.1.1.1 netmask 255.0.0.0 up
Ifconfig eth0:1 1.1.1.3 up //設定一個網絡卡多個IP的方法(在設定虛擬主機時有用到)
啟用網絡卡:Ifconfig eth0 up
關閉網絡卡:Ifconfig eth0 down
動態獲取IP:Ifconfig etho –dynamic
Dhclient
修改Mac值:先關閉網絡卡:Ifconfig eth0 down
再修改MAC值:Ifconfig eth0 hw ether 112233445566
再啟用網絡卡:Ifconfig eth0 up
B、Netconfig或者Setup,但只能設定Eth0網絡卡
C、Neat:開啟圖形視窗進行設定
D、配置檔案設定:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
注意:配置完後重啟網絡卡Servicenetworkrestart出現失敗時,用第四種方法檢查配置檔案中的Bootup是否為None,如果是DHCP一般會出錯的。
3、配置閘道器:
檢視閘道器:route
新增預設路由:
route add –net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1
刪除預設路由:
route del –net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1
Linux路由配置:
1、首先開啟路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward (1為開啟路由功能,0為關閉路由功能)
(在這個實驗裡只要開啟路由功能就OK了)
2、其它路由設定:
A、新增路由資訊:
route add –net 10.0.0.1 netmask 255.0.0.0 gw 192.168.0.1
或者route add –net 10.0.0.1 netmask 255.0.0.0 dev eth0 (通過本機的第一個網絡卡出去)
刪除路由條目:只要把上面的Add改為Del就可以了
B、用Zebra配置路由(配置就跟Cisco的是一樣的命令):
1)設定登入密碼:
Vi /etc/zebra/zebra.conf
password abc #設定連線時的密碼
enable password 123 #設定特權密碼
2)開啟服務
service zebra start
3)建立要配置的路由協議檔案
如用Rip協議:touch /etc/zebra/ripd.conf
4)開啟Rip協議:service ripd start
5)進入Zebra:
方法一、Telnet 127.0.0.1 2601 ##記得埠是2601
如果沒有設定密碼,預設情況下是不允許連線的,適合於遠端登入
方法二、Vtysh
##不用密碼也可以進入,如果有密碼還會顯示出來,但只適用於本地登入。
* traceroute
traceroute命令也是用於檢查網路是否能夠正常通訊,與ping不同的是,ping命令只能測試出從本機到目的host是否能夠通訊,而traceroute命令則能測試出從本機經過了哪些路由器或主機到達目的主機,如果不能到達,其故障具體是出在什麼地方。所以我們常常在ping不通時用該命令在進一步查詢原因所在。
*netstat
netstat命令用於顯示網路狀態資訊,其用途很廣泛,可以用來察看網路連線狀態、介面配置、路由表等,並取得一些統計資訊。該命令的主要引數和用途如下:
-a :顯示所有配置的介面
-i :顯示介面的統計資訊
-n :以數字的形式顯示ip地址
-r :顯示核心的路由表
-s :顯示計數器的值
*ifconfig
前面已經講到了,ifconfig命令用來檢視網路介面的配置情況,也用於除錯網路裝置是否已經正確安裝配置,或者用該命令來重新配置網路,只是用ifconfig命令配置的網路不是永久性的,系統一旦重新啟動,先前用ifconfig配置的各種引數便不復存在。
*telnet
telnet命令用於遠端登入,其命令格式為:telnet 主機名(或ip地址)。通過telnet命令登入遠端計算機,就像登入到本機上執行操作一樣。當然,要想遠端登入到一臺計算機上,必須知道該機合法的使用者名稱和密碼。要提醒大家的一點是,當用telnet命令登入並結束了遠端會話後,一定要使用logout命令退出遠端系統,以免造成意想不到的問題。
*rlogin
rlogin是remote login(遠端登入的縮寫),與telnet命令很相似,最常用的格式為:
DL.bitsCN.com網管軟體下載
rlogin host
rlogin命令還帶有一些引數,常用的有:
-8 :始終允許8位輸入資料管道,允許傳送格式化ANSI字元和其他特殊程式碼。
-E :禁止把任何字元當成轉義字元。當該引數與-8一起使用時,便提供一個完全的透明連線。
-L :允許rlogin會話在litout模式下執行。
-x :為所有通過rlogin會話互動的資料進行DES加密,從而提供安全性。
*ftp
ftp命令是標準的檔案傳輸協議的使用者介面,命令格式為:ftp 主機名或ip地址,用於在TCP/IP網路上進行檔案傳輸。ftp命令可以用來傳輸ASCII檔案和二進位制檔案。同樣,要想實現ftp檔案傳輸,你必須知道遠端計算機上合法的使用者名稱和口令,並且該使用者名稱具有所要傳輸的檔案的存取許可權。
rcp命令
rcp代表“remote file copy”(遠端檔案拷貝)。該命令用於在計算機之間拷貝檔案。
rcp命令有兩種格式。第一種格式用於檔案到檔案的拷貝;第二種格式用於把檔案或目錄拷貝到另一個目錄中。
rcp命令的一般格式是:
rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
directory 每個檔案或目錄引數既可以是遠端檔名也可以是本地檔名。遠端檔名具有如下形式:rname@rhost:path,其中rname是遠端使用者名稱,rhost是遠端計算機名,path是這個檔案的路徑。
rcp命令的各選項含義如下:
-r 遞迴地把源目錄中的所有內容拷貝到目的目錄中。要使用這個選項,目的必須是一個目錄。
-p 試圖保留原始檔的修改時間和模式,忽略umask。
-k 請求rcp獲得在指定區域內的遠端主機的Kerberos 許可,而不是獲得由krb_relmofhost(3)確定的遠端主機區域內的遠端主機的Kerberos許可。
-x 為傳送的所有資料開啟DES加密。這會影響響應時間和CPU利用率,但是可以提高安全性。如果在檔名中指定的路徑不是完整的路徑名,那麼這個路徑被解釋為相對遠端機上同名使用者的主目錄。如果沒有給出遠端使用者名稱,就使用當前使用者名稱。如果遠端機上的路徑包含特殊shell字元,需要用反斜線(//)、雙引號(”)或單引號(’)括起來,使所有的shell元字元都能被遠端地解釋。 需要說明的是,rcp不提示輸入口令,它通過rsh命令來執行拷貝。
學而不思則罔,思而不學則殆