linux ip详解 |
您所在的位置:网站首页 › 启动系统更新 › linux ip详解 |
linux ip详解
一、我们在学习ip之前,首先我们来认识一下linux系统下网络接口的类型和命名规则以及网络地址的类型。 1、网络接口类型: lo:本地回环接口。 eth[0-9]:以太网接口。 pppx:点对点的连接 。 2、网络地址类型: 暂时性网络地址:利用ip/ifconfig等命令配置的网络信息,会立即生效,但重启网络服务或系统会失效。 永久性网络地址:通过修改系统内的网络配置文件,不会立即生效,需要重启网络服务或者系统,并且会永久性的生效 。 二、ip命令: ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户几乎所有的Linux发行版本都支持该命令。 1、格式: ip [options] object [command [arguments]] 2、主要参数 OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。如link、addr、route、rule、tunnel 。 object是要管理者获取信息的对象。如网络接口类型eth0。 command设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作,或者有其它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没有指定对象的操作命令,ip会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行help命令。 arguments是命令的一些参数,它们倚赖于对象和命令。ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。为了方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,因此ip link ls eth0等于ip link ls dev eth0。命令的默认参数将使用default标出。 2.1、ip link set--改变设备的属性. 缩写:set、s 示例1:up/down 起动/关闭设备 ip link set dev eth0 up 这个等于传统的ifconfig eth0 up(down) 示例2:改变设备传输队列的长度。参数:txqueuelen NUMBER或者txqlen NUMBER ip link set dev eth0 txqueuelen 100 示例3:改变网络设备MTU(最大传输单元)的值。 ip link set dev eth0 mtu 1500 示例4: 修改网络设备的MAC地址。参数: address LLADDRESS ip link set dev eth0 address 00:01:4f:00:15:f1 2.2、ip link show--显示设备属性. 缩写:show、list、lst、sh、ls、l -s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。 示例: ip -s -s link ls eth0 这个命令等于传统的 ifconfig eth0 2.3、ip address add--添加一个新的协议地址. 缩写:add、a 示例1:为每个地址设置一个字符串作为标签。为了和Linux-2.0的网络别名兼容,这个字符串必须以设备名开头,接着一个冒号, ip addr add 192.168.4.1/24 brd + label eth0:1 dev eth0 示例2: 在以太网接口eth0上增加一个地址192.168.20.0,掩码长度为24位(155.155.155.0),标准广播地址,标签为eth0:Alias: ip addr add 192.168.4.2/24 brd + dev eth1 label eth1:1 2.4、ip address delete--删除一个协议地址. 缩写:delete、del、d ip addr del 192.168.4.1/24 dev eth0 2.5、ip address show--显示协议地址. 缩写:show、list、lst、sh、ls、l ip addr ls eth0 2.6、路由表管理缩写 route、ro、r 路由表从Linux-2.2开始,内核把路由归纳到许多路由表中,这些表都进行了编号,编号数字的范围是1到255。另外,为了方便,还可以在/etc/iproute2/rt_tables中为路由表命名。默认情况下,所有的路由都会被插入到表main(编号254)中。在进行路由查询时,内核只使用路由表main。 2.6.1、路由基本操作 ip route add -- 添加新路由 ip route change -- 修改路由 ip route replace -- 替换已有的路由 缩写:add、a;change、chg;replace、repl 示例1: 设置到网络192.168.4.0/24的路由经过网关192.168.4.1 ip ro add 192.168.4.0/24 via 192.168.4.1 示例2: 修改到网络192.168.4.0/24的路由,使其经过设备dummy ip route chg 192.168.4.0/24 dev dummy 示例3: 设置nat路由。在转发来自192.168.1.200的数据包之前,先进行网络地址转换,把这个地址转换为192.168.1.1 ip route add nat 192.168.1.200 via 192.168.1.1 ip route delete-- 删除路由,缩写:delete、del、d 示例1:删除上一节命令加入的多路径路由 ip ro del 192.168.4.1/24 ip route show -- 列出路由,缩写:show、list、sh、ls、l 示例2: 列出路由表TABLEID里面的路由。缺省设置是table main。TABLEID或者是一个真正的路由表ID或者是/etc/iproute2/rt_tables文件定义的字符串。 ip ro show table main = ip route ls 示例3:擦除路由表 ip route flush 示例4: 清除所有ipv4路由cache ip route flush cache 2.6.2、路由策略数据库管理命令 命令add、delete、show(或者list),注意:策略路由(policy routing)不等于路由策略(rouing policy)。在某些情况下,我们不只是需要通过数据包的目的地址决定路由,可能还需要通过其他一些域:源地址、IP协议、传输层端口甚至数据包的负载。这就叫做:策略路由(policy routing)。 2.6.1.1、ip rule add -- 插入新的规则 ip rule delete -- 删除规则 ip rule list -- 显示路由表信息 缩写:add、a;delete、del、d 示例1: 双线选择,让来自192.168.3.0/24的封包走11.0.0.254这个网关,来自192.168.4.0/24的封包走12.0.0.254这个网关 a.定义表:echo 10 clinet_cnc >>/etc/iproute2/rt_tables echo 20 clinet_tel >>/etc/iproute2/rt_tables b.把规则放入表中 ip rule add from 192.168.3.0/24 table clinet_cnc ip rule add from 192.168.4.0/24 table clinet_tel c.添加策略路由 ip route add default via 11.0.0.254 table clinet_cnc ip route add default via 12.0.0.254 table clinet_tel d.刷新路由表 ip route flush cache 2.6.3、ip tunnel -- 通道/隧道配置,缩写tunnel、tunl,隧道一般添加在网关上 ip tunnel add -- 添加新的通道 ip tunnel change -- 修改现有的通道 ip tunnel delete -- 删除一个通道,缩写:add、a;change、chg;delete、del、d 示例1:建立一个ipip隧道: 说明:clientA192.168.1.1、clinetB 192.168.2.1、 A网关10.10.10.1和192.168.1.2、B网关10.10.10.2和192.168.2.2 现在使用隧道技术实现clinetA与clinetB连通,而不使用A网关和B网关互置网关技术 A网关配置: a、在A网关中添加ipip隧道,连通10.10.10.1与10.10.10.2 ip tunnel add tuna mode ipip remote 10.10.10.2 local 10.10.10.1 b、启动隧道装置 ip link set tuna up c、在隧道装置中添加ip ip addr add 0.0.0.0/0 dev tuna d、添加路由,使目的地址为192.168.2.0/24都经由此隧道传输 ip ro add 192.168.2.0/24 dev tuna B网关配置: a、在B网关中添加ipip隧道,连通10.10.10.2与10.10.10.1 ip tunnel add tuna mode ipip remote 10.10.10.1 local 10.10.10.2 b、启动隧道装置 ip link set tuna up c、在隧道装置中添加ip ip addr add 0.0.0.0/0 dev tuna d、添加路由,使目的地址为192.168.1.0/24都经由此隧道传输 ip ro add 192.168.1.0/24 dev tuna 三、永久性网络地址配置 暂时性ip地址的配置我们已经在前面介绍过了,这里不在重述,下面介绍下关于eth0:0这个主机网络别名的配置文件的配置方法 : a、命令配置修改/etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 BOOTPROTO=static IPADDR= IP地址 NETMASK= 子网掩码 GATEWAY= 网关 ONBOOT=YES 是否开机启用 HWADDR=...... MAC 非主要地址不能用DHCP服务获得,必须为静止的。 四、其他网络配置文件 1、DNS配置文件: a、DNS配置文件位置:/etc/resolv.conf b、DNS配置格式: nameserver DNS_IP1 nameserver DNS_IP2 c、指定本地解析: /etc/hosts下添加: 目标主机IP 主机名 fg:172.16.36.1 www.chris.com DNS解析过程-->/etc/hosts-->DNS 服务器 2、主机名配置文件: a、配置文件位置:/etc/sysconfig/network b、配置格式: HOSTNAME=名称 NETWORKING={yes|no}:是否开启网络功能
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |