Linux基本網路配置及軟件包的安裝
網絡環境的配置是所有服務組建的基礎,沒有網絡環境的配置,linux主機就無法很好的與外界進行通信。而一個良好的網絡環境可以減少維護成本,大大提高linux主機的工作效率和質量。下面就對常用的網絡配置進行介紹。
首先講一下ip地址的劃分,現在ipv4的地址已經基本劃分完畢了,已經推出了ipv6,但是現在主要使用的還是ipv4,所以我在下面說的不特別說明都是ipv4的。
ip地址的格式是點分十進制 (####:####:####:####)是由網絡地址及主機地址組成的。根據需要劃分爲A、B、C、D、E ;我們主要使用的是A、B、C類地址。
A類: 255.0.0.0, 8:(格式
子網掩碼)
0 000 0001 - 0 111 1111
127個A類,127用於迴環,1-126
2^7-1個A類
容納的主機個數主機:2^24-2
其中主機位全爲0:網絡地址
其中主機位全爲1:廣播地址
B類:255.255.0.0, 16
10 00 0000- 10 11 1111
128-191
129.1.0.0.
130.1.0.0
64個B類,2^14個B類網
容納多少個主機:2^16-2
C類:255.255.255.0, 24
110 0 0000 - 110 1 1111
192-223
32個C類, 2^21個C類網
容納多個少個主機:2^8-2
私有地址:
A類:10.0.0.0/8
B類:172.16.0.0/16-172.31.0.0/16
C類:192.168.0.0/24-192.168.255.0/24
使用ifconfig命令
大多數linux發行版都會配置一些命令來配置網絡。ifconfig是在linux中常用的而且非常古老的命令之一,他通常用來設置IP地址和子網掩碼以及查看網卡相關配置。
設置IP地址
使用ifconfig命令配置IP地址,格式如下:
Ifconfig網卡名ip地址network子網掩碼
例: #ifconfig eth0 172.16.34.1 netmask 255.255.255.0
查看IP地址
使用ifconfig命令可以查看網卡配置信息,如MAC地址、IP地址等
Ifconfig –a:顯示所有接口的配置信息
其中使用ifconfig命令配置的地址會立即生效,但是如果重啓網路服務或主機都將失效。所以在具體試驗中只用到ifconfig命令查看它的配置信息,其他的用到的不多。
使用route命令
Route命令是用來查看及設置網關的命令。
route 查看路由信息
-n:
以數字方式顯示各主機或端口等相關信息
add 添加
-host 主機路由
-net 網絡路由
-net 0.0.0.0默認路由
使用格式: route
add -net|-host DEST gw NEXTHOP
del刪除
-host
-net
route del -net DEST (gw NEXTHOP)
route del default
route del -net 10.0.0.0/8
route
del -net 0.0.0.0
route
del default
所作出的改動與ifconfig命令一樣,一旦重啓網絡服務或主機後都將失效。(Linux中一切皆文件)要想使它永久有效,只有改變它的配置文件。
Route命令的網絡配置文件在/etc/sysconfig/network目錄下
網絡接口配置文件:/etc/sysconfig/network-scripts/ifcfg
-INTERFACE_NAME使用vim打開這個文件後,裏面的文件格式必須滿足如下:
DEVICE=:關聯的設備名稱,要與文件名的後半部“INTERFACE_NAME”保持一致
BOOTPROTO={st}
IPADDR=:IP地址
NETMASK=:子網掩碼
GATEWAY=:設定默認網關
ONBOOT=:開機時是否自動激活此網絡接口
HWADDR=: 硬件地址,要與硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允許普通用戶控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO爲dhcp時接受由DHCP服務器指定的DNS地址;
其中改動裏面的配置文件後不會立即生效,但重啓網路服務或主機都會生效。
修改或添加其他路由信息:在/etc/sysconfig/network-配置文件中
添加格式1:
DEST via NEXTHOP
添加格式2
ADDRESS0=
NETMASK0=
GATEWAY0=
設置主機名
# hostname 主機名
它也是可以立即生效,但不是永久有效,要想它永久有效,只能在配置文件中更改並重啓網路服務在/etc/sysconfig/network中添加:HOSTNAME=
使用ip命令
使用ip命令與ifconfig命令格式大致相同,因爲ifconfig是一個老舊的命令,而ip命令增加了一些新的命令。
ip
link :配置網路接口屬性
show:查看網路接口地址
ip -s link show :查看統計信息
addr:協議地址
add
創建別名:ip addr add ADDRESS dev DEV label eth1:1
刪除:del
ip
addr del ADDRESS dev DEV
show
ip
addr show dev DEV to PREFIX
刪除多個flush
ip
addr flush dev DEV to PREFIX
del
show
route:路由
ip rpute add to 10.0.1.0/24
dev eth1 via 192.168.100.6
一塊網卡可以使用多個地址,網路設備可以別名
eth0
格式ethX:X, eth0:0, eth0:1, ...
配置方法
ifconfig ethX:X IP/NETMASK
/etc/sysconfig/network-scripts/ifcfg-ethX:X
DEVICE=ethX:X
非主要地址不能使用DHCP動態獲取;
rpm命令的使用
RPM是RedHat Package Manager(RedHat軟件包管理工具)類似Windows裏面的“添加/刪除程序下面主要說rpm命令的安裝、查詢、卸載、升級、校驗、數據庫的重建、驗正數據包等工作。
rpm 命令:
包:
主包:
bind-9.7.1-1.i506.el5.rpm
子包:
bind-libs-9.7.1-1.i506.el5.rpm
bind
-utils-9.7.1-1.i506.el5.rpm
包名格式:
名稱:主(次、修訂)版本號:釋放號。平臺架構
bind -major.minor.release-release.arch.rpm
主版本號:重大改進
次版本號:某個子功能發生重大變化
發行號:修訂了部分bug ,調整了一點功能
在ftp上先下載軟件包進行以下的試驗(此ftp爲內部,僅供參考。)
下載軟件包:
安裝:
rpm -i /PATH/TO/PACKAGE-FILE
-h 一#顯示進度,每個#表示2%
-v :顯示詳細過程
-vv:顯示更詳細的過程
--nodeps:忽略依賴關係
(此圖爲有依賴關係的安裝包所提示的信息)
--replascepkgs:重新安裝,替換原有安裝
--force:強行安裝,可以實現重裝或降級。
查詢:
rpm -q 包名 :
查詢指定的包是否已經安裝
rpm -qa :查詢已安裝的所有包
rpm -qi說明 包名:
查詢指定安裝包的信息
rpm -ql 包名:查詢指定包安裝後生成的列表
rpm -qf
/文件路徑 : 查詢指定的文件是由哪個rpm包安裝生成的
rpm -qc :查詢指定文件包的配置文件
rpm -qd :查詢指定包安裝的幫助文件。
rpm -q --scripts : 查詢指定包中包含(安裝|卸載前、後)的腳本
如果某軟件包沒有安裝,我們需要查詢其說明信息、安裝以後會生成的文件
rpm -qpi /PATH/TO/P
升級:
rpm -U /path/to / 如果裝有老版本的,則升級。否則,則安裝
rpm -F 如果裝有老版本的,則升級。否則,退出
--oldpackage:降級
卸載
rpm -e PACKACE-NAME
--nodeps :強行卸載(有依賴關係的) (echo $? 查看命令執行結果。0爲正確其他爲錯誤代碼)
校驗:查看是否有人或進程非法改變
rpm -V 包頭
重建數據庫
rpm --rebuilddb :重建數據庫 一定會重新建立
--initdb
;初始化數據庫 沒有才建立,有就不用建立
檢驗來源合法性,及軟件完整性
rpm -k package_file
dsa,gpg: 驗證來源合法性,也即驗證簽名:可以使用
sha1,md5:驗證軟件包完整性;可以使用--NODIGE
rpm -K –nod
我只是講解了一些比較簡單常用的命令方式,還有一些比較高深的命令大家可以使用man命令來查看rpm的詳細信息。實際上如果學會了在man命令上看,就能成爲高手。