ip命令
- 格式:docx
- 大小:19.75 KB
- 文档页数:7
linux的ip命令用法摘要:1.Linux 的IP 命令简介2.IP 命令的基本用法3.IP 命令的实例详解4.IP 命令的进阶用法5.总结正文:【1.Linux 的IP 命令简介】在Linux 系统中,IP 命令是一种用于配置和管理网络接口的命令行工具。
它通过一系列的参数和选项,可以实现对网络接口的配置、查询和修改等操作,是网络管理员和普通用户都需要掌握的一个命令。
【2.IP 命令的基本用法】IP 命令的基本用法主要包括以下几个方面:- 查看网络接口信息:使用`ip addr`命令可以查看系统中所有的网络接口信息,包括接口名称、地址、子网掩码、网络类型等。
- 配置网络接口:使用`ip addr add`命令可以配置新的网络接口,或者使用`ip addr del`命令可以删除已有的网络接口。
- 修改网络接口信息:使用`ip addr set`命令可以修改已有的网络接口信息,如修改接口地址、子网掩码等。
- 查询路由表:使用`ip route`命令可以查看系统的路由表信息,包括目标网络、子网掩码、路由类型、下一跳地址等。
- 添加和删除路由:使用`ip route add`命令可以添加新的路由,使用`ip route del`命令可以删除已有的路由。
【3.IP 命令的实例详解】下面我们通过几个实例来详细讲解IP 命令的使用:- 查看网络接口信息:```ip addr```输出结果会显示系统中所有的网络接口信息,如下所示:```1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWNlink/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever```- 配置新的网络接口:```ip addr add 192.168.1.2/24 dev eth0```这个命令会配置一个新的网络接口,地址为192.168.1.2,子网掩码为255.255.255.0,网络类型为IPv4,接口名为eth0。
ip命令的使⽤显⽰所有⽹络接⼝信息输⼊ip addr或者ip a命令可以显⽰所有的⽹络接⼝信息[root@ecs-centos-7 ~]# ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffinet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0valid_lft 74409sec preferred_lft 74409secinet6 fe80::f816:3eff:fee0:4fb8/64 scope linkvalid_lft forever preferred_lft forever[root@ecs-centos-7 ~]#上⾯的输出中,可以看出系统⽬前的⽹络接⼝分别是lo和eth0, 前者是⽹络环回接⼝,后者是常规的⽹络接⼝输出接⼝信息的字段详解<BROADCAST,MULTICAST,UP,LOWER_UP>: BROADCAST 表⽰⽀持⼴播, MULTICAST 表⽰⽀持多播UP ⽹络接⼝处于开启状态LOWER_UP 表⽰⽹络电缆已插⼊并且已连上⽹络mtu 1500: 最⼤传输的单位1500字节qdisc pfifo_fast: 数据包排队state UP: 接⼝状态已开启qlen 1000: 传输队列长度link/ether fa:16:3e:e0:4f:b8 Mac地址brd ff:ff:ff:ff:ff:ff ⼴播地址inet 192.168.0.9/24 : IPV4scope global: 全局有效dynamic eth0: 动态分配地址valid_lft 74409sec: IPV4有效期preferred_lft 74409sec: IPV4⾸选⽣存期inet6 fe80::f816:3eff:fee0:4fb8/64 IPV6scope link: 仅在此接⼝上⽣效除了输出所有的⽹络接⼝信息外,还可以按照以下⽅式个性化输出⽹络接⼝信息按照是否⽀持 IPV4 或 IPV6输出命令ip -4 a会输出只⽀持IPV4的接⼝信息同样,命令ip -6 a会输出只⽀持IPV6的接⼝信息按照接⼝名字输出命令ip a show eth0会输出eth0接⼝的信息[root@ecs-centos-7 ~]# ip a show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffinet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0valid_lft 73494sec preferred_lft 73494secinet6 fe80::f816:3eff:fee0:4fb8/64 scope linkvalid_lft forever preferred_lft forever按照⽹络接⼝开启和关闭状态输出命令ip link ls up会输出所有处于开启状态的⽹络接⼝信息那么,ip link ls down就会输出所有处于关闭状态的⽹络接⼝信息为⽹络接⼝添加、移除 IP地址添加IP为指定⽹络接⼝分配IP地址的命令格式: ip a add ip地址 dev 接⼝名字⽐如:现在要为eth0⽹络接⼝分配⼀个⽹络掩码为 20 的IP 192.168.1.10, 具体的输⼊请看下⾯的实例[root@ecs-centos-7 ~]# ip a add 192.168.1.10/20 dev eth0[root@ecs-centos-7 ~]# ip a show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffinet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0valid_lft 71787sec preferred_lft 71787secinet 192.168.1.10/20 scope global eth0valid_lft forever preferred_lft foreverinet6 fe80::f816:3eff:fee0:4fb8/64 scope linkvalid_lft forever preferred_lft forever从上⾯例⼦的输出结果可以看出,⽹络接⼝eth0上多了⼀个192.168.1.10的 IP命令ip a add 192.168.1.10/20 dev eth0执⾏成功的话,是没有任何输出,如果⽹络接⼝eth0不存在的话,会输出Cannot find device "eth0"的错误信息其实,还可以通过执⾏ping 192.168.1.10命令来测试⽹络接⼝上IP是否分配成功,如果能 ping 通IP的话,表⽰分配成功,否则表⽰失败说明:192.168.1.10/20 中 20 是 CIDR 表⽰法的⽹络掩码,想详细了解的可以⾃⾏查阅⽹络掩码的资料移除IP⽹络接⼝上添加了IP之后,可使⽤ip a del ip地址 dev 接⼝名字命令从指定的接⼝移除指定的IP,移除的时候IP后⾯需要携带⽹络掩码[root@ecs-centos-7 ~]# ip a del 192.168.1.10/20 dev eth0[root@ecs-centos-7 ~]# ip a show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffinet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0valid_lft 71414sec preferred_lft 71414secinet6 fe80::f816:3eff:fee0:4fb8/64 scope linkvalid_lft forever preferred_lft forever修改⽹络接⼝状态要关闭或者开启⽹络接⼝,可以使⽤ip link set dev 接⼝名字 up/down命令例如:有lo和eth0两个⽹络接⼝, 具体接⼝信息如下[root@ecs-centos-7 ~]# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffinet 192.168.0.9/24 brd 192.168.0.255 scope global noprefixroute dynamic eth0valid_lft 59216sec preferred_lft 59216secinet6 fe80::f816:3eff:fee0:4fb8/64 scope linkvalid_lft forever preferred_lft forever通过ping -w 3 127.0.0.1命令测试,结果表明lo接⼝⽬前是开启状态,具体的测试输出如下所⽰[root@ecs-centos-7 ~]# ping -w 3 127.0.0.1PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.014 ms64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.026 ms64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.022 ms64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.023 ms--- 127.0.0.1 ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 2999msrtt min/avg/max/mdev = 0.014/0.021/0.026/0.005 ms现在关闭lo⽹络接⼝,并再次测试该接⼝的状态,具体命令如下:[root@ecs-centos-7 ~]# ip link set dev lo down[root@ecs-centos-7 ~]# ip link show lo1: lo: <LOOPBACK> mtu 65536 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00[root@ecs-centos-7 ~]# ping -w 3 127.0.0.1PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.--- 127.0.0.1 ping statistics ---4 packets transmitted, 0 received, 100% packet loss, time 2999ms执⾏ip link set dev lo down命令之后,关闭了⽹络接⼝lo,通过ip link show lo命令查看该接⼝的信息,结果表明接⼝是关闭状态,再次通过ping -w 3 127.0.0.1测试接⼝的状态,再⼀次确认了接⼝是关闭状态修改⽹络接⼝传输队列长度通过p l set txqueuelen 长度 dev 接⼝名字命令可以设置⽹络接⼝的传输队列长度[root@ecs-centos-7 ~]# ip l show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff[root@ecs-centos-7 ~]# ip l set txqueuelen 1000 dev eth0[root@ecs-centos-7 ~]# ip l show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff上⾯的例⼦中,字符串qlen 1200表⽰传输队列长度是1200从例⼦中可以看出,修改传输队列长度之前,传输队列长度是1200执⾏ip l set txqueuelen 1000 dev eth0命令把传输队列长队修改为1000, 然后再执⾏ip l show eth0命令查询eth0⽹络接⼝的信息,查询结果中default qlen 1000说明修改成功修改⽹络接⼝的MTU(最⼤传输单元)通过p l set mtu 长度 dev 接⼝名字命令可以设置⽹络接⼝的最⼤传输单元[root@ecs-centos-7 ~]# ip l show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1600 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff[root@ecs-centos-7 ~]# ip l set set mtu 1500 dev eth0[root@ecs-centos-7 ~]# ip l show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1200link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ff上⾯的例⼦中,字符串mtu 1600表⽰最⼤传输单元是1600从例⼦中可以看出,修改传输队列长度之前,最⼤传输单元是1600执⾏ip l set set mtu 1500 dev eth0命令把最⼤传输单元修改为1500, 然后再执⾏ip l show eth0命令查询eth0⽹络接⼝的信息,查询结果中mtu 1500说明修改成功查看IP路由表下⾯⼏条命令都可以查看 IP 路由表ip rip routeip r listip route list查看路由表[root@ecs-centos-7 ~]# ip rdefault via 192.168.0.1 dev eth0 proto dhcp metric 100169.254.169.254 via 192.168.0.254 dev eth0 proto dhcp metric 100192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.9 metric 100查看指定IP以及⽹络掩码的路由表[root@ecs-centos-7 ~]# ip r list 192.168.0.0/24192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.9 metric 100查看ARP缓存ARP是 Address Resolution Protocol 的缩写, 全称是地址解析协议,它是⽤于实现从IP地址到Mac地址的映射,也就是询问⽬标IP的Mac地址在本地存储了⼀份IP对应Mac地址的映射表,这张表叫做 ARP缓存表,可以使⽤ip n命令查看缓存表[root@ecs-centos-7 ~]# ip n192.168.0.1 dev eth0 lladdr fa:16:3e:64:38:a8 REACHABLE192.168.0.254 dev eth0 lladdr fa:fa:fa:fa:fa:01 STALE更改⽹卡Mac地址⼤部分场景中是不需要修改Mac地址的,但有时你可能想隐藏真实的Mac地址(物理地址),这时可以修改Mac地址,修改Mac地址的命令如下ip link set dev 接⼝名 address 新的Mac地址下⾯以修改lo⽹络接⼝的Mac地址为例来说明[root@ecs-centos-7 ~]# ip l list lo1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00[root@ecs-centos-7 ~]# ip l set lo address fa:16:3e:e0:4f:b4[root@ecs-centos-7 ~]# ip l list lo1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback fa:16:3e:e0:4f:b4 brd 00:00:00:00:00:00从上⾯的例⼦中可以看出,lo接⼝初始的Mac地址是00:00:00:00:00:00执⾏ip l set lo address fa:16:3e:e0:4f:b4命令修改Mac地址,然后再执⾏ip l list lo查看lo接⼝的信息,输出的结果信息表明Mac地址修改成功注意:如果当前⽹络接⼝上执⾏上⾯的命令,当前会话会中断,需要重启机器才能恢复,所以最好是在其他的⽹络接⼝上测试查看⽹络统计信息通过ip -s link命令可以查看⽹络接⼝上的⼀些统计数据,⽐如接⼝上传输的字节数、报⽂数,错误或者丢弃的报⽂数等等[root@ecs-centos-7 ~]# ip -s link1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00RX: bytes packets errors dropped overrun mcast272 2 0 0 0 0TX: bytes packets errors dropped carrier collsns272 2 0 0 0 02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether fa:16:3e:e0:4f:b8 brd ff:ff:ff:ff:ff:ffRX: bytes packets errors dropped overrun mcast47949 531 0 0 0 0TX: bytes packets errors dropped carrier collsns50816 492 0 0 0 0[root@ecs-centos-7 ~]#想查看更详细的信息可以使⽤ip -s -s link命令, 这个在排除⽹络故障时经常⽤到。
linux的ip命令用法摘要:1.IP 命令概述2.IP 命令基本语法3.IP 命令实例详解4.IP 命令高级用法5.总结正文:1.IP 命令概述Linux 系统中的ip 命令,是用来配置和查询网络接口的IP 地址及相关信息的重要工具。
它主要负责管理网络接口的IP 地址、子网掩码、默认网关等参数,方便用户对Linux 主机的网络设置进行调整。
2.IP 命令基本语法ip 命令的基本语法如下:```ip [选项] [命令]```常见的命令有:- ip addr:显示网络接口的详细信息。
- ip add:添加网络接口。
- ip del:删除网络接口。
- ip link:显示网络接口的链路状态。
- ip address:设置网络接口的IP 地址、子网掩码和默认网关。
3.IP 命令实例详解下面通过几个实例,来详细介绍ip 命令的使用:实例1:查看网络接口的详细信息```ip addr```执行结果会显示当前系统所有网络接口的详细信息,包括物理接口、虚拟接口、IP 地址、子网掩码、默认网关等。
实例2:添加网络接口```ip add add```执行此命令会添加一个新的网络接口。
例如,要添加一个名为eth0 的网络接口,其IP 地址为192.168.1.1,子网掩码为255.255.255.0,默认网关为192.168.1.1,可以执行以下命令:```ip add add eth0 192.168.1.1/24 192.168.1.1```实例3:删除网络接口```ip del```执行此命令会删除指定的网络接口。
例如,要删除名为eth0 的网络接口,可以执行以下命令:```ip del eth0```实例4:设置网络接口的IP 地址、子网掩码和默认网关```ip address```执行此命令可以设置网络接口的IP 地址、子网掩码和默认网关。
例如,要将eth0 接口的IP 地址设置为192.168.1.2,子网掩码设置为255.255.255.0,默认网关设置为192.168.1.1,可以执行以下命令:```ip address eth0 192.168.1.2/24 192.168.1.1```4.IP 命令高级用法ip 命令还有许多高级用法,如配置路由、设置ARP 缓存等。
怎么查看本机ip地址命令1. 1 开始——运行——cmd2. 2 点击确定后我们就进入了dos界面3. 3输入查看本机ip地址命令 ipconfig /?这里我们看到的是ipconfig的使用方法的介绍对于 Setclassid 和 Setclassid6,如果未指定 ClassId,则会删除 ClassId。
示例:> ipconfig ... 显示信息> ipconfig /all ... 显示详细信息> ipconfig /renew ... 更新所有适配器> ipconfig /renew EL* ... 更新所有名称以 EL 开头的连接> ipconfig /release *Con* ... 释放所有匹配的连接,例如 "Local Area Connection 1" 或"Local Area Connection 2"> ipconfig /allcompartments ... 显示有关所有分段的信息> ipconfig /allcompartments /all ... 显示有关所有分段的详细信息4. 4我们输入查看本机ip地址命令 ipconfig /all 显示的就是本机的详细信息END查看本机ip地址1.还有一种通过百度来查看本机ip地址的简单方法首先打开百度2.在搜索框中输入本机ip地址点搜索3.在搜索结果中我们就可以看到我们所在网络的ip地址了。
END注意事项通过以上如何查看本机ip地址命令的讲解,相信你已经掌握查看本机ip 地址命令的使用方法。
每天进步一点点,让我们的生活更精彩~。
PING.EXE作用一:探测本地的计算机是否通过网络和指定IP地址的计算机相连接!用法:Ping 127.0.0.1 回车说明:若看到Reply from ....说明相连 Request time out说明没相连接。
作用二:根据域名获得IP地址用法:Ping 回车说明:看到的Reply from 的xxx.xxx.xxx.xxx就对应的IP地址作用三:根据IP地址获取域名用法:Ping -a xxx.xxx.xxx.xxx说明:看到的Ping xyz [xxx.xxx.xxx.xxx]...的xyz就是IP对应的域名IPCONFIG.EXE(Windows 95里叫WINIPCFG.EXE)该工具主要展示了两条信息,IP配置信息和IP配置参数,它能报告出你机器中的拨号网络适配器和以太网卡的信息,以下给出了一个拨号网络适配器的部分信息:Description(描述):PPP Adapater (点对点数据传输协议)IP Address(IP地址):202.96.168.10 (动态IP地址)Subnet Mask(子网掩码): 255.255.255.255 (用于识别是否在同一局域网内)Default Gateway(默认网关): 202.96.168.10 (沟通不同网络的接点)DNS Server(域名服务器):202.96.199.162 (提供域名到IP的查询服务)显示全部信息的用法为:IPCONFIG.EXE -all 回车NETSTAT.EXE该工具显示了您的计算机上的TCP连接表、UDP监听者表以及IP协议统计。
通常你可以通过这些信息发现你机器上正在打开的端口和服务,利用这你可以检查你的机器上是否有木马哦!不过这需要有TCP/IP的基本常识。
同时你还可以看到你的机器正在和那些IP地址以TCP、UDP或其他协议进行连接的状态。
显示全部信息的用法为:NETSTAT.EXE -a 回车ROUTE.EXE该工具显示了您的机器IP的路由表,主要显示这几个方面的信息:目标地址、网络掩码、网关、本地IP 地址和公制。
查询ip的命令符查询IP地址是计算机网络中最基本的操作,通过查询IP地址可以更好地了解网络中的设备和数据通信的情况。
本文将向大家介绍查询IP地址的命令符,以及它们的使用方法。
一、ping命令ping命令是Windows和Linux系统中通用的一个命令,它可以测试网络的连接情况,也可以用于查询IP地址。
使用ping命令查询IP地址的步骤如下:1. 打开命令提示符在Windows系统中,可以通过按下Win+R键打开运行窗口,然后输入“cmd”命令打开命令提示符;在Linux系统中,可以直接打开终端程序。
在命令提示符中输入“ping IP地址”命令,例如“ping 192.168.1.1”。
3. 查看结果ping命令会在终端中输出一些网络连接信息,最后会显示IP地址的回应时间和状态。
如果回应时间为0ms,表示网络连接顺畅。
二、nslookup命令nslookup命令会在终端中输出IP地址的反向域名解析结果,以及A记录和PTR记录等信息。
三、ifconfig命令1. 打开终端在Linux系统中,可以通过鼠标右键单击桌面并选择“打开终端”打开终端程序。
在终端中输入“ifconfig”命令,该命令会列出系统中所有网卡的详细信息。
3. 查找IP地址使用ifconfig命令可以查询系统中所有网卡的IP地址等信息,通常在eth0网卡中查找。
总结以上就是常用的查询IP地址的命令符,可以根据不同平台的命令来进行查询。
如需要查询远程服务器的IP地址,还可以使用telnet等命令连接到远程主机并查询其IP地址。
需要注意的是,在使用这些命令查询IP地址时,请确保输入正确的IP地址,否则不能正确获得结果。
ip命令手册(一)摘要ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具。
例如:ifconfig、route等。
这个手册将分章节介绍ip命令及其选项。
本文的原文在/iproute2/ip-cref/(2002-10-15 18:40:46)By nixe0n作者:Alexey N.Kuznetsov编译:nixe0n1.关于这篇文档2.ip命令的语法3.ip的错误信息4.ip link--配置网络设备4.1.ip link set--改变设备的属性4.2.ip link show--显示设备属性5.ip address--协议地址管理5.1.ip address add--添加一个新的协议地址5.2.ip address delete--删除一个协议地址5.3.ip address show--显示协议地址5.4.ip address flush--清除协议地址6.ip neighbour--neighbour/arp表管理命令6.1.ip neighbour add -- 添加一个新的邻接条目ip neighbour change--修改一个现有的条目ip neighbour replace--替换一个已有的条目6.2.ip neighbour delete--删除一个邻接条目6.3.ip neighbour show--显示网络邻居的信息6.4.ip neighbour flush--清除邻接条目1.关于这篇文档ip是iproute2软件包里面的一个强大的网络配置工具,本文将分章节介绍ip命令及其选项。
为了便于理解,作者在本文中列举了很多示例。
但是,正如作者所说,这不是一个教程,而是一个使用手册。
2.ip命令的语法ip命令的用法如下:ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]其中,OPTIONS是一些修改ip行为或者改变其输出的选项。
linux高级路由即基于策略的路由比传统路由在功能上更强大,使用也更灵活,它不仅能够根据目的地址来转发路径而且也能够根据报文大小、应用或ip源地址来选择路由转发路径从而让系统管理员能轻松做到:1、管制某台计算机的带宽。
2、管制通向某台计算机的带宽3、帮助你公平地共享带宽4、保护你的网络不受DOS的攻击5、保护你的Internet不受到你的客户的攻击6、把多台服务器虚拟成一台,并进行负载均衡或者提高可用性7、限制你的用户访问某些计算机8、限制对你的计算机的访问9、基于用户帐号、MAC地址、源IP地址、端口、QOS《TOS》、时间或者content等进行路由一、高级路由的基础IP ROUTE2基本命令:ip link list 显示ip链路状态信息ip address show 除显示所有网络地址ip route show 显示主路由表信息ip neigh show 显示邻居表linux系统路由表linux可以自定义从1-252个路由表,linux系统维护了4个路由表:0#表系统保留表253#表 defulte table 没特别指定的默认路由都放在改表254#表 main table 没指明路由表的所有路由放在该表255#表 locale table 保存本地接口地址,广播地址、NAT地址由系统维护,用户不得更改路由表的查看可有以下二种方法:ip route list table table_numberip route list table table_name路由表序号和表名的对应关系在/etc/iproute2/rt_tables中,可手动编辑路由表添加完毕即时生效,下面为实例ip route add default via 192.168.1.1 table 1 在一号表中添加默认路由为192.168.1.1ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一号表中添加一条到192.168.0.0网段的路由为192.168.1.2注:各路由表中应当指明默认路由,尽量不回查路由表.路由添加完毕,即可在路由规则中应用..二、高级路由重点之一路由规则 ip rule进行路由时,根据路由规则来进行匹配,按优先级(pref)从低到高匹配,直到找到合适的规则.所以在应用中配置默认路由是必要的..ip rule show 显示路由规则路由规则的添加ip rule add from 192.168.1.10/32 table 1 pref 100如果pref值不指定,则将在已有规则最小序号前插入注:创建完路由规则若需立即生效须执行#ip route flush cache;刷新路由缓冲可参数解析如下: &nFrom -- 源地址To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)Tos -- IP包头的TOS(type of sevice)域Linux高级路由-Dev -- 物理接口Fwmark -- iptables标签采取的动作除了指定路由表外,还可以指定下面的动作:Table 指明所使用的表Nat 透明网关Prohibit 丢弃该包,并发送 COMM.ADM.PROHIITED的ICMP信息Reject 单纯丢弃该包Unreachable丢弃该包,并发送 NET UNREACHABLE的ICMP信息具体格式如下:更强大,使用更灵活,它使网络管理员不仅能Usage: ip rule [ list | add | del ] SELECTOR ACTIONSELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ][ dev STRING ] [ pref NUMBER ]ACTION := [ table TABLE_ID ] [ nat ADDRESS ][ prohibit | reject | unreachable ][ flowid CLASSID ]TABLE_ID := [ local | main | default | new | NUMBER ]1.策略路由基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目的地址而且能够根据报文大小、应用或IP源地址来选择转发路径...#/etc/iproute2/rt_tables 此文件存有linux 系统路由表默认表有255 254 253三张表255 local 本地路由表存有本地接口地址,广播地址,已及NAT地址.local表由系统自动维护..管理员不能操作此表...254 main 主路由表传统路由表,ip route若没指定表亦操作表254.一般存所有的路由..注:平时用ip ro sh查看的亦是此表设置的路由.253 default 默认路由表一般存放默认路由...注:rt_tables文件中表以数字来区分表0保留最多支持255张表路由表的查看可有以下二种方法:#ip route list table table_number#ip route list table table_name路由表添加完毕,即可在策略路由表内添加路由例:#ip route add 192.168.1.0/24 dev eth0 via 192.168.1.66 realm 4注:发往子网192.168.1.0/24的数据包通过分类4转发配合tc使用,后文有介绍讲解...#ip route add default via 192.168.1.1 table int1#ip route add 192.168.1.0/24 via 192.168.1.1 table int2#ip route add 172.16.0.2/16 via 172.16.0.1 table int3注:各路由表中应当指明默认路由,尽量不回查路由表.路由添加完毕,即可在路由规则中应用..#ip rule sh 显示路由规则0: from all lookup local32766: from all lookup main32767: from all lookup default进行路由时,正是根据路由规则来进行匹配,按优先级(pref后数值)从高到低匹配,直到找到合适的规则.所以在应用中配置默认路由是必要的..策略路由一般手工添加路由表,路由表的添加只需编辑rt_tables文件,规定表序号,表名即可.. ip rule规则添加示例:#ip rule add from 192.168.1.112/32 [tos 0x10] table test2 pref 999 prohibit#ip rule add to 192.168.1.2 pref 1000 table test1#ip rule add from 192.168.1.0/24 pref 1001 table test1#ip rule add [from 0/0] table test1 pref 1003#ip rule add fwmark 1 pref 1002 table test2 此句型配合iptables -t mangle应用.如先对数据包作标记:#iptables -t mangle -A PREROUTING -p tcp -m multiport--dports 80,8080,20,21 -s 192.168.1.0/24 -j MARK --set-mark 1注:创建完路由规则若需立即生效须执行#ip route flush cache;刷新路由缓冲可参数解析如下:From -- 源地址To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)Tos -- IP包头的TOS(type of sevice)域Dev -- 物理接口Fwmark -- 防火墙参数采取的动作除了指定路由表外,还可以指定下面的动作:Table 指明所使用的表Nat 透明网关Prohibit 丢弃该包,并发送 COMM.ADM.PROHIITED的ICMP信息Reject 单纯丢弃该包Unreachable丢弃该包,并发送 NET UNREACHABLE的ICMP信息具体格式如下:Usage: ip rule [ list | add | del ] SELECTOR ACTIONSELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ][ dev STRING ] [ pref NUMBER ]ACTION := [ table TABLE_ID ] [ nat ADDRESS ][ prohibit | reject | unreachable ][ flowid CLASSID ]TABLE_ID := [ local | main | default | new | NUMBER ]2.网卡捆绑(网关linux+多网卡)#modprobe bonding mod=1 miimon=200 primary=eth1 创建bond0,模式为1,主网卡eth1..#ip addr add dev bond$ 10.0.0.1/24 设置bond0的IP#ifenslave bond0 eth1 eth2 添加绑定的dev注:mode=0 轮转均衡(默认模式),此模式MAC频繁切换导致交换机负载大..mode=1 主备模式用primary指定网卡mode=4 常用 802.3ad模式,动态链路采集模式.此模式要求SWITCH捆绑..miimon=ms 每隔多少毫秒查询链路是否有效.其它参数如:arp_interval=msarp_ip_target=*.*.*.*另一种网卡捆绑固化方式:#vi /etc/modules.conf 加入以下行alias bond0 bonding系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0..#cd /etc/sysconfig/network-scripts#vi ifcfg-bond0DEVICE=bond0IPADDR=11.0.0.1NETMASK=255.0.0.0NETWORK=192.168.1.0BROADCAST=192.168.1.255ONBOOT=yesBOOTPROTO=noneUSERCTL=no#vi ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none#vi ifcfg-eth1DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none#/etc/init.d/network restart 重启网络服务验证网卡的配置信息备份网卡被加上了NOARP标记 #cat /proc/net/bond0/info 查看bond信息3.网桥(Linux+多网卡)配置工具 brctl / 源码包名:bridge-utils-*形式安装第一步:autoconf 后类同于源码包安装..例.linu+二网卡eth0 eth1 配置成网桥配置前去除加入网桥的eth0 eth1的IP#ifconfig eth0/eth1 down#ifconfig eth0/eth1 0.0.0.0 up#brctl addbr br0#brctl addif br0 eth0 eth1#ip li set dev br0 up#brctl showmacs br0 显示网桥MAC撤网桥:#ip li set dev br0 down#brctl delif br0 eth0 eth1#brctl delbr br0网桥接口处亦可进行流量控制,无Ip的linux网桥可有效防御外界的功击,对linux网桥机的总控安全性高...贴上一篇网桥应用实例,此实例是网桥的一种扩张应用...脚本名:start_bridge.sh#!/bin/shbrctl addbr net1brctl addif net1 eth0ifconfig eth0 downifconfig eth0 0.0.0.0 upifconfig net1 192.168.5.1 up#ip ro del 192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.28ip ro del 192.168.1.0/24#route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.5.2ip route add default via 192.168.5.2echo "1" > /proc/sys/net/ipv4/ip_forwardLinux高级路由需结合iptables才能充分体现其功能的强大,实际工作中的应用多半基于此,当然要熟练掌握Linux高级路由+iptables 还需进一步的加强学习和实践的应用...--------------------------------------------------------------ip ruleIP基本命令:ip link list 显示ip链路状态信息ip address show 除显示所有网络地址ip route show 显示主路由表信息ip neigh show 显示邻居表linux系统路由表linux可以自定义从1-252个路由表,linux系统维护了4个路由表:0#表系统保留表253#表 defulte table 没特别指定的默认路由都放在改表254#表 main table 没指明路由表的所有路由放在该表255#表 locale table 保存本地接口地址,广播地址、NAT地址由系统维护,用户不得更改路由表的查看可有以下二种方法:ip route list table table_numberip route list table table_name路由表序号和表名的对应关系在/etc/iproute2/rt_tables中,可手动编辑路由表添加完毕即时生效,下面为实例ip route add default via 192.168.1.1 table 1 在一号表中添加默认路由为192.168.1.1ip route add 192.168.0.0/24 via 192.168.1.2 table 1 在一号表中添加一条到192.168.0.0网段的路由为192.168.1.2注:各路由表中应当指明默认路由,尽量不回查路由表.路由添加完毕,即可在路由规则中应用..二、高级路由重点之一路由规则 ip rule进行路由时,根据路由规则来进行匹配,按优先级(pref)从低到高匹配,直到找到合适的规则.所以在应用中配置默认路由是必要的..ip rule show 显示路由规则路由规则的添加ip rule add from 192.168.1.10/32 table 1 pref 100如果pref值不指定,则将在已有规则最小序号前插入注:创建完路由规则若需立即生效须执行#ip route flush cache;刷新路由缓冲可参数解析如下: &nFrom —源地址To —目的地址(这里是选择规则时使用,查找路由表时也使用)Tos — IP包头的TOS(type of sevice)域Linux高级路由-Dev —物理接口Fwmark — iptables标签采取的动作除了指定路由表外,还可以指定下面的动作:Table 指明所使用的表Nat 透明网关Prohibit 丢弃该包,并发送 COMM.ADM.PROHIITED的ICMP信息Reject 单纯丢弃该包Unreachable丢弃该包,并发送 NET UNREACHABLE的ICMP信息具体格式如下:更强大,使用更灵活,它使网络管理员不仅能Usage: ip rule [ list | add | del ] SELECTOR ACTIONSELECTOR := [ from PREFIX ] [ to PREFIX ] [ tos TOS ][ dev STRING ] [ pref NUMBER ]ACTION := [ table TABLE_ID ] [ nat ADDRESS ][ prohibit | reject | unreachable ][ flowid CLASSID ]TABLE_ID := [ local | main | default | new | NUMBER ]ip ruel 配置实例:ip route del defaultip route add default via 192.168.33.1ip rule add from 192.168.2.6 pref 1000 lookup cnlineip rule add from 192.168.2.4 pref 1000 lookup cnlineip rule add from 192.168.2.32 pref 1000 lookup cnlineip rule add from 192.168.2.227 pref 1000 lookup cnlineip rule add from 192.168.2.100 pref 1000 lookup cnlineip rule add from 192.168.2.101 pref 1000 lookup cnlineip rule add from 192.168.2.107 pref 1000 lookup cnlineip rule add from 192.168.2.55 pref 1000 lookup cnlineip rule add from 192.168.2.56 pref 1000 lookup cnlineip rule add from 192.168.2.189 pref 1000 lookup cnlineip rule add from 192.168.2.190 pref 1000 lookup cnlineip rule add from 192.168.2.191 pref 1000 lookup cnlineip rule add from 192.168.2.192 pref 1000 lookup cnlineip rule add from 192.168.2.193 pref 1000 lookup cnlineip rule add from 192.168.2.194 pref 1000 lookup cnlineip rule add from 192.168.2.195 pref 1000 lookup cnlineip rule add from 192.168.2.196 pref 1000 lookup cnlineip rule add from 192.168.2.197 pref 1000 lookup cnlineip rule add from 192.168.2.198 pref 1000 lookup cnline#ip route add 192.168.0.0/24 via 192.168.33.1 table cnlineip route add 58.14.0.0/15 via 192.168.33.1 table cnlineip route add 58.16.0.0/16 via 192.168.33.1 table cnline转自:/ip-rule.html?replytocom=25。