加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux ifconfig route  ip lo 网卡参数永久配置方法

(2014-04-06 02:15:17)
标签:

健康

ifconfig 用来配置一张网卡的参数   lo 网卡参数永久配置方法  命令帮助规则

ifconfig -a 列出所有的网络适配器的信息

ifconfig eth0 up / down  重启与关闭单张网卡

sudo ifconfig eth0 down (停用网卡)
sudo ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX(需要更改的MAC地址)
sudo ifconfig eth0 up (启用网卡)


sudo ifconfig eth0 192.168.0.100 netmask 255.255.255.0 //配置eht0卡的ip地址与ip掩码, 经过这个配置后,会自动在main(254)路由表中 添加对应的路由信息 如下(route -n)
      192.168.0.0  0.0.0.0  255.255.255.0 U 0 0 0 eth0
====================================================================
配置网关 通过route 

sudo route add -net 192.168.0.0  netmask 192.168.0.0  gw 192.168.0.1 dev eth0   

====================================================================
route  : 显示网关的名字
route -n :打印出网关的ip

root@ubuntu:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.147.9.0                      255.255.255.0                0 eth0
192.168.1.0                    255.255.255.0                0 wlan0
192.168.122.0                255.255.255.0                0 virbr0
link-local                   255.255.0.0        1000         0 eth0
192.168.0.0     192.168.1.1     255.255.0.0     UG              0 wlan0
default         10.147.9.1      0.0.0.0         UG              0 eth0

结果是自上而下, 就是说, 哪条在前面, 哪条就有优先, 前面都没有, 就用最后一条default

举例, 添加一条路由(发往192.168.62这个网段的全部要经过网关192.168.1.1)
route add -net 192.168.62.0 netmask 255.255.255.0 gw 192.168.1.1

================================================
ubuntu 13.10 
man route

route add [-net | -host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] ...
targer:the destination network or host . you can provide IP addresses in dotted decimal or host/network names 
route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 
    添加一条路由,使本地网络中的192.56.76.x 的数据包 通过eth0路由,其中dev这个是可以省略的;

route del default 
    删除当前默认的路由,默认的路由 可能通过标签"default"来标识 或者 是 当前路由表中destination域为0.0.0.0的这一项。

route -n
kernel IP routing table 
Destination      Gateway      Genmask     Flags    Metric   Ref    Use    Iface
0.0.0.0        192.168.0.1    0.0.0.0      UG        0       0      O      eth0 
192.168.0.0      0.0.0.0    255.255.255.0  U         1       0      O      eth0 
192.168.1.0      0.0.0.0    255.255.255.0  U         9       0      O      wlan0

执行 route del default 

route -n
kernel IP routing table 
Destination      Gateway      Genmask     Flags    Metric   Ref    Use    Iface
192.168.0.0      0.0.0.0    255.255.255.0  U         1       0      O      eth0 
192.168.1.0      0.0.0.0    255.255.255.0  U         9       0      O      wlan0

Destination:the destination network or destination host
Gateway: the gateway address or "*"if none set
Genmask:the network for the destination net;  其中255.255.255.255是host destination; 0.0.0.0 为default route 
解读:
参考 route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 
     添加一条路由,使本地网络中的192.56.76.x 的数据包 通过eth0路由,其中dev这个是可以省略的;
那么上面的route表就为,
Destination 192.168.0.0 (即192.168.0.x &  255.255.255.0), 即192.168.0.x数据包 通过eth0来路由;
Destination 192.168.1.0 (即192.168.1.x &  255.255.255.0), 即192.168.1.x数据包 通过wlan0来路由; 
这样就不冲突,可以正常上网,两个网卡正常在各自的网络工作了。

删除一条路由表

sudo route del default 
sudo route del -net 192.168.0.0 netmask 255.255.255.0  有时候删除时会提示错误,补充点详细信息即可


仅通过

man route 的帮助信息中
比如
route [-V] [-A family] del [-net | -host] target [gw Gw] [network Nm] [metric N] [[dev] If]
linux终端上面显示的帮助信息如上,有加粗的部分,有没有加粗的部分,有[]部分,也有没有[]的部分
加粗部分:表示是该命令的固有选项
没有加粗的部分:使用该命令的用户输入的参数
有[]的部分:表示使用该命令时该部分可以被省略
没有[]的部分:表示使用该命令时该部分不能省略

=================================================================================
cat /etc/iproute2/rt_tables 查看所有路由表的别名
ip route list|show table 254 来查看main路由表中的具体路由项
ip  rule list 查看路由规则

ip命令为iproute2包的一个工具,用来定义ip包的一些规则,ip功能强大,包含了ifconfig route 等命令的功能
一、原理说明
1、路由表(table)从0到255进行编号,每个编号可以对应一个别名,编号和别名的对应关系在linux下放在/etc/iproute2/rt_tables这个文件里,一般0编号的table对应的别名为upspec,255编号对应的别名为local,254和253对应的别名分别为main和default,我们通常用route命令配置和查看的路由表信息为别名为main的路由表信息。  ip route list table 254 来查看main 路由表中的具体路由
2、路由规则负责定义路由策略,它定义来源哪里的IP需要查询哪个路由表(使用别名)。路由规则的查看使用ip rule sh路由规则也从0开始编号,可以自由添加,来源相同IP的路由规则选择根据规则编号的大小确定优先级,编号越小优先级越高。例如如下路由规则:
0: from all lookup local 
32766: from all lookup main 
32767: from all lookup default
优先级最高的规则是0,要查询的路由表名称是local,其次是32766,要查询的路由表名称是main,后面依此类推。
3、操作系统在选路时首先根据路由规则选取table,然后再从table里选取相应路由,如果同一table里不同接口使用相同的网关,选路时会默认选择第一条路由,所以当有两个网络接口卡时,如果目标网络在同一网段,那么由于选路时按第一条路由出口出去,所以会导致所有的流量都会从第一个网卡上出去。
http://s16/bmiddle/001Y9f7yty6HThLON8b3f&690ifconfig route  ip lo 网卡参数永久配置方法" TITLE="linux ifconfig route  ip lo 网卡参数永久配置方法" />
由图中所示,系统默认已经实现了三个策略(本地策略、主策略和默认策略),与之对应的是三张默认路由表(本地路由表、主路由表和默认路由表)
Linux最多可以支持255张路由表,其中有3张表是内置的:
表255 本地路由表(Local table)本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
表254 主路由表(Main table)如果没有指明路由所属的表,所有的路由都默认都放在这个表里,一般来说,旧的路由工具(如route)所添加的路由都会加到这个表。一般是普通的路由。
表253 默认路由表(Default table)一般来说默认的路由都放在这张表,但是如果特别指明放的也可以是所有的网关路由。
表 0 保留
root@netmonster# ip rule list
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
规则0,它是优先级别最高的规则,规则规定,所有的包,都必须首先使用local表进行路由。本规则不能被更改和删除。
规则32766,规定所有的包,使用表main进行路由。本规则可以被更改和删除。
规则32767,规定所有的包,使用表default进行路由。本规则可以被更改和删除。
在默认情况下进行路由时,首先会根据规则0在本地路由表里寻找路由,如果目的地址是本网络,或是广播地址的话,在这里就可以找到合适的路由;
如果路由失败,就会匹配下一个不空的规则,在这里只有32766规则,在这里将会在主路由表里寻找路由;
如果失败,就会匹配32767规则,即寻找默认路由表。如果失败,路由将失败。重这里可以看出,策略性路由是往前兼容的
======================================
以上的配置,都是对本次有效,重启后就又要重新配置,很麻烦......
vim /etc/network/interfaces 
修改如下:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1
路由表会自动添加

======================================   
    eth0: ethernet的简写,一般用于以太网接口。
  wifi0:wifi是无线局域网,因此wifi0一般指无线网络接口。
  ath0: Atheros的简写,一般指Atheros芯片所包含的无线网络接口。
  lo: local的简写,一般指本地环回接口。
     LINUX中的lo(回环接口)
  1) 什么是LO接口?
     在LINUX系统中,除了网络接口eth0,还可以有别的接口,比如lo(本地环路接口)。
  2) LO接口的作用是什么?
     假如包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的’lo’接口,然后返回进入链的’lo’接口.具体参考包过滤器的相关内容。
  PART2 实验:
  本地一个进程发起连接,到一个本地的daemon监听的内网IP地址(eth1: 10.1.1.1)的端口(8085),此时在eth1上是抓不到包的,在 lo 上抓到,说明使用的是本地回环接口lo,而网络层的IP地址则是内网IP地址.

      网络接口是用来发送和接受数据包的基本设备。系统中的所有网络接口组成一个链状结构,应用层程序使用时按名称调用。虚拟网络接口的应用范围非常广泛。最着名的当属“lo”了,基本上每个linux系统都有这个接口。虚拟网络接口并不真实地从外界接收和发送数据包,而是在系统内部接收和发送数据包,因此虚拟网络接口不需要驱动程序。虚拟网络接口和真实存在的网络接口在使用上是一致的.

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有