Linux系統下ifconfig命令使用及結果分析


Linux下網卡命名規律:eth0,eth1。第一塊以太網卡,第二塊。lo為環回接口,它的IP地址固定為127.0.0.1,掩碼8位。它代表你的機器本身。

 

1、ifconfig是查看網卡的信息。

 

ifconfig [Interface]

Interface是可選項,如果不加此項,則顯示系統中所有網卡的信息。如果添加此選項則顯示所指定的網卡信息

 

例如:ifconfig eth0

 

 

eth0 Link encap:Ethernet
            HWaddr 00:0C:29:F3:3B:F2
            inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
            RX packets:78 errors:0 dropped:0 overruns:0 frame:0
            TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:100
            RX bytes:11679 (11.4 Kb)
            TX bytes:14077 (13.7 Kb)
            Interrupt:10 Base address:0x1080

 

我們可以看到

第一行:連接類型:Ethernet(以太網)HWaddr(硬件mac地址)

第二行:網卡的IP地址、子網、掩碼

第三行:UP(代表網卡開啟狀態)RUNNING(代表網卡的網線被接上)MULTICAST(支持組播)MTU:1500(最大傳輸單元):1500字節

第四、五行:接收、發送數據包情況統計

第七行:接收、發送數據字節數統計信息。

 

2、ifconfig 配置網卡

 

配置網卡的IP地址

ifconfig eth0 192.168.0.1 netmask 255.255.255.0

 

在eth0上配置上192.168.0.1 的IP地址及24位掩碼。若想再在eth0上在配置一個192.168.1.1/24 的IP地址怎么辦?用下面的命令

 

ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

 

這時再用ifconifg命令查看,就可以看到兩個網卡的信息了,分別為:eth0和eth0:0。若還想再增加IP,那網卡的命名就接着是:eth0:1、eth0:2...想要幾個就填幾個。ok!

 

配置網卡的硬件地址

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

 

就將網卡的硬件地址更改了,此時你就可以騙過局域網內的IP地址邦定了。

 

將網卡禁用

ifconfig eth0 down

將網卡啟用

ifconfig eth0 up

 

ifconfig 命令的功能很強大,還可以設置網卡的MTU,混雜模式等。就不一一介紹了,用時間可以自己研究一下。

 

注意:用ifconfig命令配置的網卡信息,在網卡重啟后機器重啟后,配置就不存在。要想將上述的配置信息永遠的存的電腦里,那就要修改網卡的配置文件了

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ifconfig命令

by Jian Lee

手動設置網卡示例

假設想把網卡設置為如下:

網卡:eth0
IP:192.168.2.110
掩碼:255.255.255.0
網管:192.168.2.1

可以這樣:

ifconfig eth0 192.168.2.110 netmask 255.255.255.0 up
route add default gw 192.168.2.1 dev eth0

修改MAC

有時候我們需要修改網卡的mac地址,比如我現在的網卡信息如下:

eth0      Link encap:Ethernet  HWaddr 00:15:22:99:36:c9
          inet addr:192.168.2.110  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::215:22ff:fe99:36c9/64 Scope:Link
...

上面顯示的HWaddr就是mac地址:00:15:22:99:36:c9。現在我們想把 它修改成我們需要的:

ifconfig eth0 down  # 一定要先停止網卡
ifconfig eth0 hw ether 00:15:22:99:36:c9   # 修改mac地址

然后可以重啟網絡:

/etc/init.d/networking restart

MAC和網卡名綁定

如果我們有多個網卡,linux下可能叫eth0,eth1,eth2等等,有時候我 們自己都分不清到底哪個網卡對於哪個名字。這時候可以將mac可網卡 名綁定。

  • Redhat系列linux:

    使用sysinit作為scripts管理一些系統服務,可以在類似的 /etc/sysconfig/network-scripts/ifcft-ethX 中寫上 HWADDR=00:01:02:8C:50:09 ,這樣以后這個ethX網卡就是mac值為 00:01:02:8C:50:09 的網卡了。這里MAC換成自己機器網卡的 mac,ethX中的X代表0,1,2,等等數字。

  • 有nameif命令的linux:

    基本都有這個命令,可以man一下,這個可以設置mac和網卡名字綁定。

橋接網絡

創建網絡設備

創建一個指定用戶有權限的設備 tap0

# tunctl -t tap0 -u 用戶名
# chmod 0666 /dev/net/tun

網卡混雜模式

# ifconfig eth0 promisc // 設置eth0為混雜模式
# ifconfig tap0 promisc // 設置tap0為混雜模式

建立橋接接口

# brctl addbr br0
# brctl addif br0 eth0
# brctl addif br0 tap0

設置br0的IP

  • 靜態IP
# ifconfig br0 IP地址 netmask 掩碼
# route add default gw 默認網關 dev br0
  • DHCP
# dhclient br0

常見應用

1. 查看網絡接口使用什么驅動

[root@jianlee ~]# ethtool -i eth0
driver: 3c59x
version:
firmware-version:
bus-info: 0000:01:02.0

2. 查看網絡接口link

[root@jianlee ~]# mii-tool
eth0: negotiated 100baseTx-FD, link ok

3. 網卡名字eth0,eth1修改

modprobe 中修改模塊別名

使用 udev 的情況

fedora10 就是使用 udev 設置網卡的名字,比如我的系統有兩塊網卡,e1000e已經 壞了,3c59x還是好的。每次都認3c59x為eth1,即使我在 /etc/sysconfig/network-scripts/ifcfg-eth0 中設置了mac都不行。后來發現在 /etc/udev/rules.d/70-persistent-net.rules 下有這些內容 :

# 3Com Corporation 3c905B 100BaseTX [Cyclone] (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:01:02:8c:50:09", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# Intel Corporation 82567LM-3 Gigabit Network Connection (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="88:88:88:88:87:88", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

我把 eth0,和 eth1 名字交換。這樣就可以了。

使用 ip link

ip link set eth0 name eth2
ip link set eth1 name eth0
ip link set eth2 name eth1

禁止某個 IP 訪問

如果不需要用復雜的 iptables,可以簡單地在 route 里加上一條:

route add -host IP-A gw 127.0.0.1

路由

參考: http://blog.ligj.eol.cn/628

route 命令

使用route 命令添加的路由,機器重啟或者網卡重啟后路由就失效了,方法:

添加到主機的路由

# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1

添加到網絡的路由

# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1

添加默認網關

# route add default gw IP

刪除路由

# route del –host 192.168.168.110 dev eth0

設置永久路由

/etc/rc.local

route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254

在/etc/sysconfig/network里添加到末尾

方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev

/etc/sysconfig/static-router

any net x.x.x.x/24 gw y.y.y.y


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM