1. 程式人生 > >linux網絡基礎知識(幹貨)

linux網絡基礎知識(幹貨)

linux 網絡運維

IP
NETMASK
GATEWAY
HOSTNAME
DNS1
DNS2
DNS3
動態地址:
DHCP:Dynamic Host Configuration Protocol
路由
linux:網絡屬於內核
RedHat5: /etc/modprobe.conf
alias
RedHat6: /etc/udev/rules.d/70-persistent-net.rules
以太網:ethX
[root@localhost rules.d]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:B2:5C:04
二層網絡使用協力 因特網 mac地址
inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0
ip地址 廣播地址 子網掩碼
inet6 addr: fe80::20c:29ff:feb2:5c04/64 Scope:Link
ip6地址 作用範圍
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
啟動中 允許廣播 運行狀態 允許多播 最大傳輸單元 度量
RX packets:417 errors:0 dropped:0 overruns:0 frame:0
接受報文個數 錯誤 丟棄 逆出 幀數
TX packets:351 errors:0 dropped:0 overruns:0 carrier:0
發送
collisions:0 txqueuelen:1000
沖突發生次數 傳輸隊列長度
RX bytes:39841 (38.9 KiB) TX bytes:47438 (46.3 KiB)
接受字節數 發送字節數
ifconfig
-a 顯示所有接口的配置信息
ethX 顯示指定接口的配置信息
ifconfig ethX
ip/mask ip地址/子網掩碼
[up|dowm] 啟用|禁用
RedHat5: /etc/init.d/network {start|stop|restart|status}
RedHat6: /etc/init.d/NetworkManager {start|stop|restart|status}
網關
路由:route
route
add :添加
-host : 主機路由
-net : 網絡路由
-net 0.0.0.0
route add -net 10.0.0.0/8 gw 192.168.56.2
route add default gw 192.168.56.3
del :刪除
route del -net 10.0.0.0/8
route del default
所有做出的改動重啟網絡服務或主機後失效
查看:
route –n : 以數字方式顯示各主機或端口等相關信息
網絡配置信息文件:
/etc/sysconfig/network
網卡配置信息文件:
/etc/sysconfig/network-scriptes/ifcfg-ethX
DEVICE=:關聯的設備名稱,要與文件名的後半部保持一致即:eth0
BOOTPROTO={static|none|dhcp|bootp} :引導協議:要使用靜態地址,使用static或none,dhcp表示使用DHCP服務器獲取地址。
IPADDR:ip地址
NETMASK :子網掩碼
GATEWAY : 設定默認網關
ONBOOT :開機時是否自動激活此網絡接口
HWADDR : 硬件地址,要與硬件中的地址保持一致,可省略
USERCTL :{yes|no} 是否允許普通用戶控制此接口
PEERDNS :{yes|no} 是否在BOOTPROTO為dhcp時接受DHCP服務指定的DNS地址
不會立即生效,但重啟網絡服務或主機都會生效
路由:/etc/sysconfig/network-scripts/route-ethX
添加格式一:
DEST via NEXTHOP
192.168.10.0/24 via 10.10.10.254
添加格式二:
ADDRESS0=
NETMASK0=
GATEWAY0=
ADDRESS0=192.168.10.0
NETMASK0=255.255.255.0
GATEWAY0=10.10.10.254
DNS服務器指定方法只有一種
/etc/resolv.conf
nameserver DNS_IP_1
nameserver DNS_IP_2
指定本地解析
vi /etc/hosts
主機ip 主機名 主機別名
192.168.56.1 www.hailiao.com hailiao
主機名:
hostname
vim /etc/sysconfig/network
setup 顯示圖形配置界面
iproute2
ip
link :配置網絡接口與屬性
ip link show
ip link set eth1 down
addr : 協議地址
add
ip addr add 192.168.56.5 dev eth1 label eth1:1
del
ip addr del ADDRESS dev DEV
show
ip addr show
flush
ip addr flush dev DEV to prefix
route :路由
ip route show
ip route add to 10.10.10.0/24 dev eth1 via 192.168.56.2
ip route flush to 10/8
一塊網卡可以使用多個地址:
網絡設備可以起別名
eth0 eth0:0 eth0:1 …

  1. ifconfig eth1:0 192.168.56.2
  2. /etc/sysconfig/network-scripts/ifcfg-ethX:X
    DEVICE=ethX:X //註意,別名不能使用DHCP ip地址
    主機接入網絡:
    需要:IP、NETMASK、GATEWAY、HOSTNAME、DNS1、DNS2、DNS3、
    軟件包管理器的核心功能:
  3. 制作軟件包
  4. 安裝、卸載、升級、查詢、校驗
    RedHat、SUSE、Debian
    Redhat Package Manager
    PRM is Package Manager
    Debian:dpt
    前端工具:yum apt-get
    後端工具:
    yum:Yellowdog Update Modifier
    rpm命令:
    rpm
    rpmbuild
    安裝、查詢、卸載、升級、校驗、數據庫的重建等工作
    rpm命名:
    包:組成部分
    主包:bind-9.7.1-1.el5.i586.rpm
    子包:bind-libs-9.7.1-1.el5.i586.rpm bind-utils-9.7.1-1.el5.i586.rpm
    包名格式:
    name-version-release.arch.rpm
    bind-major.minor.release-release.arch.rpm
    主版本號:重大改進
    次版本號:某個字功能發生重大變化
    發行號:修正了部分bug,調整了一點功能。
    bind-9.7.1.tar.gz
    rpm包:
    二進制格式
    rpm包作者下載源程序,變異配置完成後,制作成rpm包
    bind-9.7.1-1.i586(i86_64).rpm noarch(與平臺無關)
    1.安裝
    rpm –I /path/to/package_name
    -h:以#號顯示安裝進度
    -v:顯示詳細進度
    -vv:顯示更詳細的進度
    --nodeps:忽略依賴關系
    --replacepkgs:重新安裝,替換原有安裝
    --force:強行安裝,可以實現重新安裝或降級
    2.查詢
    rpm –q PACKAGE_NAME :查詢指定的包是否已經安裝
    rpm –qa :查詢已經安裝的所有包
    rpm –qi PACKAGE_NAME :查詢指定報的說明信息
    rpm –ql PACKAGE_NAME :查詢指定包安裝後生成的文件列表
    rpm –qc PACKAGE_NAME :查詢指定包安裝後生成的配置文件
    rpm –qd PACKAGE_NAME :查詢指定包安裝後生成的幫助文件
    rpm –qf /path/to/some/file : 查詢指定的文件是由哪個rpm包安裝的生成的
    如果某rpm包尚未安裝,我們需要查詢其說明信息、安裝以後會生成文件。
    rpm –qpi /path/to/NEW_PACKAGE_FILE
    rpm –qpl
    3、 升級
    rpm –Uvh/path/to/NEW_PACKAGE_FILE 如果裝有老版本的,則升級,否則則安裝
    rpm –Fvh/path/to/NEW_PACKAGE_FILE 如果裝有老版本的,則升級,否則則退出
    4、卸載
    rpm –e PACKAGE_NAME
    --nodeps
    5、校驗
    rpm –V PACKAGE_NAME
    6、重建數據庫
    rpm
    --rebuilddb : 重建數據庫
    --initdb:初始化數據庫,沒有才建立,有就不建立
    7、檢驗來源合法性及軟件的完整性。
    [root@www CentOS]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
    [root@www CentOS]# rpm -K vsftpd-2.0.5-16.el5_4.1.x86_64.rpmy
    rpm –K /path/to/PACKAGE_FILE
    dsa、gpg:驗證來源合法性,也即驗證簽名:可以用—nosignature,掠過此項
    sha1、md5:驗證軟件包完整性:可以使用—nodigest,略過此項
    yum倉庫中的元素據文件
    /media/repodata
    primary.xml.gz
    所有RPM包的列表
    依賴關系
    每個RPM安裝生成的文件列表
    filelists.xml.gz
    當前倉庫中所有PRM包的所有文件列表
    other.xml.gz
    額外信息,RPM包的修改日誌
    repomd.xml
    記錄的是上面三個文件的時間戳和校驗和
    comps*.xml :RPM包分組信息
    command is one of:
    • install package1 [package2] [...]
    • update [package1] [package2] [...]
    • check-update
    • upgrade [package1] [package2] [...]
    • remove | erase package1 [package2] [...]
    • list [...]
    • info [...]
    • provides | whatprovides feature1 [feature2] [...]
    • clean [ packages | headers | metadata | dbcache | all ]
    • makecache
    • groupinstall group1 [group2] [...]
    • groupupdate group1 [group2] [...]
    • grouplist [hidden] [groupwildcard] [...]
    • groupremove group1 [group2] [...]
    • groupinfo group1 [...]
    • search string1 [string2] [...]
    • shell [filename]
    • resolvedep dep1 [dep2] [...]
    • localinstall rpmfile1 [rpmfile2] [...]
    • localupdate rpmfile1 [rpmfile2] [...]
    • reinstall package1 [package2] [...]
    • downgrade package1 [package2] [...]
    • deplist package1 [package2] [...]
    • repolist [all|enabled|disabled]
    • help [command]
      如何為yum定義repo文件
      CentOS-Media.repo

This repo is used to mount the default locations for a CDROM / DVD on
CentOS-5. You can use this repo and yum to install items directly off the
DVD ISO that we release.

To use this repo, put in your DVD and use it with the other repos too:
yum --enablerepo=c5-media [command]

or for ONLY the media repo, do this:

yum --disablerepo=* --enablerepo=c5-media [command]
[c5-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/ ftp://
file:///media/cdrom/ http://
file:///media/cdrecorder/ file:///
gpgcheck=1 是否使用gpg驗證
enabled=0 是否啟用
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
RPM安裝
二進制格式
源程序---》編譯---》二進制格式
有些特性是編譯選定的,如果編譯未選定此特性,將無法使用。
rpm包的版本會落後於源碼包
編譯環境,開發環境
開發庫,開發工具
linux :C
GNU :C
C,C++
gcc : GNU C Complier,C
g++ :
perl java python
make : 項目管理工具
makefile :定義了make(gcc,g++)按何種次序去編譯這些原程序文件中的源程序
automake,--》makefile.in ?makefile
autoconf,--》configure
./configure
--prefix=/path/to/somewhere
--sysconfdir=/path/to/CONFFILE_PATH
make
make install

  1. 修改path環境變量,以便能夠識別此程序的二進制文件路徑
  2. 默認情況下,系統搜索文件的路徑/lib, /usr/lib ,要增添額外的搜尋路徑
    在/etc/ld.so.conf.d/中創建以.conf為後綴名的文件,而後要把增添的路徑直接寫至此文件中

    ldconfig 通知系統重新搜尋庫文件

      -v : 顯示重新搜尋庫的過程
  3. 頭文件:輸出給系統
    默認:/usr/include
    增添頭文件的搜尋路徑,使用鏈接進行
    /usr/local/apache2/include/ /usr/include/
    ln –s /usr/local/apache2/include/* /usr/include/ 或
    ln –s /usr/local/apache2/include /usr/include/apache2
  4. man文件路徑:安裝在—prefix指定的目錄下面的man目錄 :/usr/share/man
  5. man –M /path/to/MAN_DIR COMMAND
  6. 在/etc/man.config中添加一條MANPATH

更多文章請關註:http://www.ilovehai.com

linux網絡基礎知識(幹貨)