| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux命令详解(2)ip命令 -> 正文阅读 |
|
[系统运维]Linux命令详解(2)ip命令 |
之前写的Linux必会100个命令中,ip命令看得人比价多。那就写个更详细的分享下。 ip命令格式: ip options object {command | help} options包括: -V,显示版本 -h,符合人类阅读习惯显示输出 -f,-family {inet, inet6, link} 强制使用指定的协议族 -4,指定使用的网络层协议是IPv4协议 -B,指定使用的网络层协议是Bridge协议 -D,指定使用的网络层协议是decnet协议 -M,指定使用的网络层协议是mpls协议 -0,指定使用的网络层协议是link协议 -i,指定使用的网络层协议是ipx协议 -d,输出更详细的信息 -o,-oneline,输出信息每条记录输出一行,即使内容较多也不换行显示 -r,-resolve,显示主机时,不使用IP地址,而使用主机的域名 -l,-loops,指定“ip地址刷新”的最大循环数。如果设置为0,那么将会一直尝试,直到所哟地址被移除。 -t,-timestamp,当使用监视器选项时,输出时间戳 -a,-all,执行指定命令给所有对象(如果命令支持这个选项) -c,-color,使用颜色输出 ip command语法: object包括: ????????address:网络设备的IP(v4或者v6)地址信息 ????????link :网络设备信息 ????????maddress:多播地址 ????????mourte:组播路由缓存条目 ? ? ? ? monitor:监控网络链接消息 ? ? ? ? netns:管理网络命名空间 ? ? ? ? ntable:管理邻居表缓存操作 ????????neighbour:邻居表 ????????route:路由表 ????????rule:IP策略 ????????tunnel:IP隧道 ? ? ? ? tuntap:管理tun/tap设备 COMMAND包括: ? ? ? ? add:新增 ? ? ? ? delete:删除 ? ? ? ? show(or list):显示 ????????set:设置参数 ---------------------------------------------------------------------------------------- address是最常用的option之一 ip address help 获得帮助信息 ?例1:显示当前IP地址信息 ip address? 或? ip addr ?例2:给设备enp0s8设置ip地址 例3:给设备enp0s8移除ip地址 ip addr delete 192.168.1.200/24 dev enp0s8 ?link是针对设备设置的option 例子1:启动一个网络设备 ip link set enp0s8 up ?如图,两块网卡设备,初始状态一个up,一个down。执行命令后,enp0s8状态改变为UP。 例子2:开启混杂模式 ip link set dev enp0s8 promisc on? 例子3:设置MTU值,即设置最大传输单元 ip link set enp0s8 mtu 1000 例子4:设置mac地址 ip link set enp0s8 address a0:0a:b0:0b:c0:0c? 如图显示,mtu值和link/ether值发生了变化 ?例子5:添加一对虚拟网卡 ?ip link add? r1-inside type veth peer name r1-outside ?如图,第4和第5个设备是新添加的2个虚拟网卡 route是设置路由相关信息的option 例子1:添加一个缺省网关 ip route add default via ?10.0.3.254 ?dev enp0s8 如图,添加一个新的网关。显示路由表做简要说明如下: 路由第一部分是一个IP或者IPv6地址,也可以跟着一个斜杠和掩码长度(如:192.168.0.0/24)。如果没有掩码长度,ip命令就假定是一个单一ip 地址。 dev 是关键字,其后面是网卡的名字 via 关键字,其后面是下一跳路由器的地址。其实就是网关IP。 metric 关键字,其后面跟一个数字,定义路由的优先值。 src 关键字,其后面跟一个IP地址,在向目的发送数据包时,选择的源地址。 proto关键字,其后面是IP地址设置的方式,如:static、dhcp,比较特殊的是kernel。 ?例子2:删除一个缺省网关 ip route deletedefault via ?10.0.3.254 ?dev enp0s8 rule是策略路由相关的option 基于策略的路由比传统路由在功能上更强,使用更灵活,它使网络管理员不仅能够根据目的地址而且能够根据报文大小、应用或IP源地址等属性来选择转发路径。 在linux系统中,一条路由策略rule主要包含三个信息,即rule的优先级,条件,路由表。其中rule的优先级数字越小表示优先级越高,然后是满足什么条件下由指定的路由表来进行路由。在linux系统启动时,内核会为路由策略数据库配置三条缺省的规则,即rule 0,rule 32766, rule 32767(数字是rule的优先级,0优先级最高),如下: 在linux系统中是按照rule的优先级顺序依次匹配。假设系统中只有优先级为0,32766及32767这三条规则。那么系统首先会根据规则0在本地路由表里寻找路由,如果目的地址是本网络,或是广播地址的话,在这里就可以找到匹配的路由;如果没有找到路由,就会匹配下一个不空的规则,在这里只有32766规则,那么将会在主路由表里寻找路由;如果没有找到匹配的路由,就会依据32767规则,即寻找默认路由表;如果失败,路由将失败。 有3个默认的规则,在/etc/iproute2/rt_table中存储。 255 :local 本地路由表存有本地接口地址,广播地址,已及NAT地址.?local表由系统自动维护..管理员不能操作此表...。 254:main 主路由表 传统路由表,ip route若没指定表亦操作表254.一般存所有的路由..? 253:default? 默认路由表一般存放默认路由...? 进行路由时,正是根据路由规则来进行匹配,按优先级从高到低匹配,直到找到合适的规则.所以在应用中配置默认路由是必要的.. 语法如下图: ? SELECTOR具体参数如下: From — 源地址 Table 指明所使用的表 策略路由一般手工添加路由表,路由表的添加只需编辑rt_tables文件,规定表序号,表名即可..? 例子: ip rule add from 192.168.1.112/32 [tos 0x10] table 202 pref 999 prohibit? 写累了,以后再补充 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:19:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |