2019-04-21 11:50:48 +08:00

96 lines
7.2 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 id="ip">ip</h1>
<p>网络配置工具</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>ip命令</strong> 用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道是Linux下较新的功能强大的网络配置工具。</p>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">ip(选项)(参数)
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | macsec | tcp_metrics | token }
-V显示指令版本信息
-s输出更详细的信息
-f强制使用指定的协议族
-4指定使用的网络层协议是IPv4协议
-6指定使用的网络层协议是IPv6协议
-0输出信息每条记录输出一行即使内容较多也不换行显示
-r显示主机时不使用IP地址而使用主机的域名。</code></pre>
<h3 id="参数">参数</h3>
<pre><code class="language-bash">OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] }
网络对象:指定要管理的网络对象;
具体操作:对指定的网络对象完成具体操作;
help显示网络对象支持的操作命令的帮助信息。</code></pre>
<h3 id="实例">实例</h3>
<div class="sourceCode" id="cb4"><pre><code class="language-bash"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="ex">ip</span> link show # 显示网络接口信息</a>
<a class="sourceLine" id="cb4-2" data-line-number="2"><span class="ex">ip</span> link set eth0 upi # 开启网卡</a>
<a class="sourceLine" id="cb4-3" data-line-number="3"><span class="ex">ip</span> link set eth0 down # 关闭网卡</a>
<a class="sourceLine" id="cb4-4" data-line-number="4"><span class="ex">ip</span> link set eth0 promisc on # 开启网卡的混合模式</a>
<a class="sourceLine" id="cb4-5" data-line-number="5"><span class="ex">ip</span> link set eth0 promisc offi # 关闭网卡的混个模式</a>
<a class="sourceLine" id="cb4-6" data-line-number="6"><span class="ex">ip</span> link set eth0 txqueuelen 1200 <span class="co"># 设置网卡队列长度</span></a>
<a class="sourceLine" id="cb4-7" data-line-number="7"><span class="ex">ip</span> link set eth0 mtu 1400 # 设置网卡最大传输单元</a>
<a class="sourceLine" id="cb4-8" data-line-number="8"><span class="ex">ip</span> addr show # 显示网卡IP信息</a>
<a class="sourceLine" id="cb4-9" data-line-number="9"><span class="ex">ip</span> addr add 192.168.0.1/24 dev eth0 <span class="co"># 设置eth0网卡IP地址192.168.0.1</span></a>
<a class="sourceLine" id="cb4-10" data-line-number="10"><span class="ex">ip</span> addr del 192.168.0.1/24 dev eth0 <span class="co"># 删除eth0网卡IP地址</span></a>
<a class="sourceLine" id="cb4-11" data-line-number="11"></a>
<a class="sourceLine" id="cb4-12" data-line-number="12"><span class="ex">ip</span> route show <span class="co"># 显示系统路由</span></a>
<a class="sourceLine" id="cb4-13" data-line-number="13"><span class="ex">ip</span> route add default via 192.168.1.254 # 设置系统默认路由</a>
<a class="sourceLine" id="cb4-14" data-line-number="14"><span class="ex">ip</span> route list # 查看路由信息</a>
<a class="sourceLine" id="cb4-15" data-line-number="15"><span class="ex">ip</span> route add 192.168.4.0/24 via 192.168.0.254 dev eth0 <span class="co"># 设置192.168.4.0网段的网关为192.168.0.254,数据走eth0接口</span></a>
<a class="sourceLine" id="cb4-16" data-line-number="16"><span class="ex">ip</span> route add default via 192.168.0.254 dev eth0 # 设置默认网关为192.168.0.254</a>
<a class="sourceLine" id="cb4-17" data-line-number="17"><span class="ex">ip</span> route del 192.168.4.0/24 # 删除192.168.4.0网段的网关</a>
<a class="sourceLine" id="cb4-18" data-line-number="18"><span class="ex">ip</span> route del default # 删除默认路由</a>
<a class="sourceLine" id="cb4-19" data-line-number="19"><span class="ex">ip</span> route delete 192.168.1.0/24 dev eth0 <span class="co"># 删除路由</span></a></code></pre></div>
<p><strong>用ip命令显示网络设备的运行状态</strong></p>
<pre><code class="language-bash">[root@localhost ~]# ip link list
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff
3: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff</code></pre>
<p><strong>显示更加详细的设备信息</strong></p>
<pre><code class="language-bash">[root@localhost ~]# ip -s link list
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
5082831 56145 0 0 0 0
TX: bytes packets errors dropped carrier collsns
5082831 56145 0 0 0 0
2: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:3e:00:1e:51 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
3641655380 62027099 0 0 0 0
TX: bytes packets errors dropped carrier collsns
6155236 89160 0 0 0 0
3: eth1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:16:3e:00:1e:52 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2562136822 488237847 0 0 0 0
TX: bytes packets errors dropped carrier collsns
3486617396 9691081 0 0 0 0 </code></pre>
<p><strong>显示核心路由表</strong></p>
<pre><code class="language-bash">[root@localhost ~]# ip route list
112.124.12.0/22 dev eth1 proto kernel scope link src 112.124.15.130
10.160.0.0/20 dev eth0 proto kernel scope link src 10.160.7.81
192.168.0.0/16 via 10.160.15.247 dev eth0
172.16.0.0/12 via 10.160.15.247 dev eth0
10.0.0.0/8 via 10.160.15.247 dev eth0
default via 112.124.15.247 dev eth1</code></pre>
<p><strong>显示邻居表</strong></p>
<pre><code class="language-bash">[root@localhost ~]# ip neigh list
112.124.15.247 dev eth1 lladdr 00:00:0c:9f:f3:88 REACHABLE
10.160.15.247 dev eth0 lladdr 00:00:0c:9f:f2:c0 STALE</code></pre>
<p><strong>获取主机所有网络接口</strong></p>
<pre><code class="language-bash">ip link | grep ^[0-9] | awk -F: &#39;{print $2}&#39;</code></pre>
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->