1. 程式人生 > >linux網絡配置相關命令、虛擬網絡接口eth0:0

linux網絡配置相關命令、虛擬網絡接口eth0:0

命令 ftw onf network gre .org -h ocs ngs

網絡接口(interface)是網絡硬件設備在操作系統中的表示方法,比如網卡在Linux操作系統中用ethX,是由0開始的正整數,比如eth0、eth1...... ethX。而普通貓和ADSL的接口是 pppX,比如ppp0等;

機器中所有可用網卡、名字、配置文件:

  • dmesg | grep eth :可以看到系統啟動時,網卡啟動的信息及相應網卡的名字,然後就可以手動添加相應的/etc/sysconfig/network-scripts/ifcfg-ethX文件對網卡進行配置
  • ifconfig -a :查看所有處於激活狀態和終止狀態的網卡及相應信息
  • cat /proc/net/dev : 查看所有虛擬的eth文件
  • /dev/eth0,/dev/eth1 之類的文件在dev目錄下找不到:在很多Unix操作系統中個,網絡設備會出現在/dev目錄下。但是在Linux下不是這樣的。在Linux中,網絡設備是被動態創建的,並不需要在/dev目錄下生成設備文件。大部分的網絡設備都是在初始化和加載硬件的時候被設備驅動程序自動創建。比如:ethernet 設備驅動器在加載ethernet 硬件的時候按順序創建eth[0..n]網卡接口,第一個ethernet卡變成eth0,第二個ethernet卡變成eth1。這在Redhat 6.0安裝盤的/doc/HOWTO目錄下的NET-3-HOWTO中定義。可以通過虛擬文件:/proc/net/dev來查看被配置好的ethernet 設備屬性。In many Unix operating systems the network devices have appearances in the /dev directory. This is not so in Linux. In Linux the network devices are created dynamically in software and do not require device files to be present. In the majority of cases the network device is automatically created by the device driver while it is initializing and has located your hardware. For example, the ethernet device driver creates eth[0..n] interfaces sequentially as it locates your ethernet hardware. The first ethernet card found becomes eth0, the second eth1 etc." This was quoted from NET-3-HOWTO in the /doc/HOWTO directory of my RH 6.0 Install cdrom. You can see the settings for configured ethernet devices in the /proc/net/dev ‘pseudo file


網絡配置相關命令:

  • /bin/hostname 顯示主機名
  • /etc/rc.d/init.d/network 網絡服務啟動腳本(service network restart)
  • /sbin/ifconfig 查看、配置、啟用或禁用網絡接口(網卡)的IP地址、MAC地址、掩碼、廣播地址,if是網絡接口(interface)的簡寫
  • /sbin/ifup ifdown 激活或者終止網絡接口


/etc/init.d/network 網絡服務啟動腳本
Service network start|stop|reload|restart|status|force-reload

/sbin/ifconfig 查看、配置、啟用或禁用網絡接口(網卡)的工具


ifconfig 是一個用來查看、配置、啟用或禁用網絡接口的工具,這個工具極為常用的。比如我們可以用這個工具來配置網卡的IP地址、MAC地址、掩碼、廣播地址等。值得一說的是用ifconfig 為網卡指定IP地址,這只是用來調試網絡用的,並不會更改系統關於網卡的配置文件。如果您想把網絡接口的IP地址固定下來,目前有三個方法:一是通過各個發行和版本專用的工具來修改IP地址;二是直接修改網絡接口的配置文件;三是修改特定的文件,加入ifconfig 指令來指定網卡的IP地址,比如在redhat或Fedora中,把ifconfig 的語名寫入/etc/rc.d/rc.local文件中;

ifconfig配置網絡接口語法:
ifconfig 網絡端口 IP地址 hw MAC地址 netmask 掩碼地址 broadcast 廣播地址 [up/down]

ifconfig常用用法:

  • ifconfig : 查看主機激活狀態的網絡接口情況; 輸出結果中:lo 是表示主機的回壞地址,eth0 表示第一塊網卡, 其中 HWaddr 表示網卡的物理地址(MAC地址); inet addr 用來表示網卡的IP地址,Bcast表示廣播地址,Mask表示掩碼地址
  • ifconfig -a : 查看主機所有(包括沒有被激活的)網絡接口的情況
  • ifconfig eth0 : 查看特定網絡接口的狀態
  • ifconfig eth0 down = ifup eth0 : 如果eth0是激活的,就把它終止掉。此命令等同於 ifdown eth0;
  • ifconfig eth0 up = ifdown eth0 : 激活eth0 ; 此命令等同於 ifup eth0
  • ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 : 配置 eth0的IP地址、廣播地址和網絡掩碼;
  • ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up : 配置IP地址、網絡掩碼、廣播地址的同時,激活網卡eth0
  • ifconfig eth1 hw ether 00:11:00:00:11:22 : 設置網卡的物理地址(MAC地址)。其中 hw 後面所接的是網絡接口類型, ether表示以太網, 同時也支持 ax25 、ARCnet、netrom等,詳情請查看 man ifconfig ;


用ifconfig 來配置虛擬網絡接口:
有時我們為了滿足不同的需要還需要配置虛擬網絡接口,比如我們用不同的IP地址來架運行多個HTTPD服務器,就要用到虛擬地址;這樣就省卻了同一個IP地址,如果開設兩個的HTTPD服務器時,要指定端口號。

虛擬網絡接口指的是為一個網絡接口指定多個IP地址,虛擬接口是這樣的 eth0:0 、 eth0:1、eth0:2 ... .. eth1N。當然您為eth1 指定多個IP地址,也就是 eth1:0、eth1:1、eth1:2 ... ...以此類推;
ifconfig eth1:0 192.168.1.250 hw ether 00:11:00:00:11:44 netmask 255.255.255.0 broadcast 192.168.1.255 up
ifconfig eth1:1 192.168.1.249 hw ether 00:11:00:00:11:55 netmask 255.255.255.0 broadcast 192.168.1.255 up
註意:指定時,要為每個虛擬網卡指定不同的物理地址;

關聯:Name-based Virtual Host Support - Apache基於域名的虛擬主機設置(1個IP,多種服務)

linux網絡配置相關命令、虛擬網絡接口eth0:0