linux网络与相关指令,Linux网络常用指令

1,网络参数设定使用的指令

ifconfig

查询

设定网络卡与 IP 网域等相关参数;

ifup, ifdown

这两个档案是 script,透过更简单的方式来启动网络接口;

route

查询

设定路由表 (route table)

ip

复合式的指令, 可以直接修改上述提到的功能;

2,ifconfig

用法:

[root@www ~]# ifconfig {interface} {up|down} <== 观察与启动接口

[root@www ~]# ifconfig interface {options} <== 设定与修改接口

选项与参数:

interface:网络卡接口代号,包括 eth0, eth1, ppp0 等等

options :可以接的参数,包括如下:

up, down :启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)

mtu :可以设定不同的 MTU 数值,例如 mtu 1500 (单位为 byte)

netmask :就是子屏蔽网络;

broadcast:就是广播地址啊!

#范例一:观察所有的网络接口(直接输入 ifconfig)

[root@www ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD

inet addr:192.168.1.100 Bcast:192.168.1.255

Mask:255.255.255.0

inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1br/>net.qiang@hotmail.com

RX packets:2555 errors:0 dropped:0 overruns:0 frame:0

TX packets:70 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:239892 (234.2 KiB) TX bytes:11153 (10.8 KiB)

范例二:暂时修改网络接口,给予 eth0 一个 192.168.100.100/24 的参数

[root@www ~]# ifconfig eth0 192.168.100.100

#如果不加任何其他参数,则系统会依照该 IP 所在的 class 范围,自动的计算出

#netmask 以及 network, broadcast 等 IP 参数,

#若想改其他参数则:

[root@www ~]# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000

范例三:一个网络接口多个IP

[root@www ~]# ifconfig eth0:0 192.168.50.50 net.qiang@hotmail.com

#仔细看那个界面是 eth0:0 喔!那就是在该实体网卡上,再仿真一个网络接口,

#亦即是在一张网络卡上面设定多个 IP 的意思!

[root@www ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD

inet addr:192.168.100.100 Bcast:192.168.100.127

Mask:255.255.255.128

inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1

RX packets:2555 errors:0 dropped:0 overruns:0 frame:0

TX packets:70 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:239892 (234.2 KiB) TX bytes:11153 (10.8 KiB)

eth0:0 Link encap:Ethernet HWaddr 08:00:27:71:85:BD

inet addr:192.168.50.50 Bcast:192.168.50.255

Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:9000 Metric:1

#仔细看,是否与硬件有关的信息都相同啊!没错!因为是同一张网卡嘛!

#那如果想要将刚刚建立的那张 eth0:0 关闭就好,不影响原有的 eth0 呢?

[root@www ~]# ifconfig eth0:0 down

#关掉 eth0:0 这个界面。那如果想用默认值启动

#范例四:将手动的处理全部取消,使用原有的设定值重建网络参数:

[root@www ~]# /etc/init.d/network restart

ifup ifdown

用法

[root@www ~]# ifup {interface}

[root@www ~]# ifdown {interface}

[root@www ~]# ifup eth0

3,route

用法

[root@www ~]# route [-nee]

[root@www ~]# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]

[root@www ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]

观察的参数:

-n : 不要使用通讯协议或主机名,直接使用 IP 或 port number;

-ee :使用更详细的信息来显示

增加 (add) 与删除 (del) 路由的相关参数:

-net : 表示后面接的路由为一个网域;

-host :表示后面接的为连接到单部主机的路由;

netmask :与网域有关,可以设定 netmask 决定网域的大小;

gw : gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;

dev :如果只是要指定由那一块网络卡联机出去,则使用这个设定,后面接 eth0 等

范例一:单纯的观察路由状态

[root@www ~]# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0

0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0

Destination, Genmask:这两个玩意儿就是分别是 network 与 netmask 啦!所以这两个咚咚就组合成为一个完整的网域!

Gateway:该网域是通过哪个 gateway 连接出去的?如果显示 0.0.0.0 表示该路由是直接由本机传送,亦即可以透过局域网络的 MAC 直接传讯;如果有显示 IP 的话,表示该路由需要经过路由器的帮忙才能够传送出去。

Flags:总共有多个旗标,代表的意义如下:

o U (route is up):该路由是启动的;

o H (target is a host):目标是一部主机 (IP) 而非网域;

o G (use gateway):需要透过外部的主机 (gateway) 来转递封包;

o R (reinstate route for dynamic routing):使用动态路由时,恢复路由信息的旗标;

o D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由

o M (modified from routing daemon or redirect):路由已经被修改了;

o ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

Iface:这个路由传递封包的接口。

范例二:路由的增加与删除

[root@www ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0

#上面这个动作可以删除掉 169.254.0.0/16 这个网域!

#请注意,在删除的时候,需要将路由表上面出现的信息都写入

#包括 netmask , dev 等等参数!

[root@www ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0

#透过 route add 来增加一个路由!请注意,这个路由的设定必须要能够与你的网络互通。

#举例来说,如果我下达底下的指令就会显示错误:

#route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254

#因为我的主机内仅有 192.168.1.11 这个 IP ,所以不能直接与192.168.200.254

#这个网段直接使用 MAC 互通!

范例三:默认路由设定

[root@www ~]# route add default gw 192.168.1.250

#增加预设路由的方法!请注意,只要有一个预设路由就够了

#同样的,那个 192.168.1.250 的 IP 也需要能与你的 LAN 沟通才行!

#在这个地方如果你随便设定后,记得使用底下的指令重新设定你的网络

#service network restart

注意: 你所规划的路由必须要是你的装置 (如 eth0) 或 IP 可以直接沟通(broadcast) 的情况才行

4,网络参数综合指令:ip

基本上是整合了ifconfig与route两个指令;

[root@www ~]# ip [option] [动作] [指令]

选项与参数:

option :设定的参数,主要有:

-s :显示出该装置的统计数据(statistics),例如总接受封包数等;

动作:亦即是可以针对哪些网络参数进行动作,包括有:

link :关于装置 (device) 的相关设定,包括 MTU, MAC 地址等等

addr/address :关于额外的 IP 协议,例如多 IP 的达成等等;

route :与路由有关的相关设定

关于装置接口 (device) 的相关设定: ip link

ip link 可以设定与装置 (device) 有关的相关参数,包括 MTU 以及该网络接口的 MAC 等等,当然也可以启动 (up) 或关闭 (down) 某个网络接口啦!

用法

[root@www ~]# ip [-s] link show <== 单纯的查阅该装置相关的信息

[root@www ~]# ip link set [device] [动作与参数]

选项与参数:

show:仅显示出这个装置的相关内容,如果加上 -s 会显示更多统计数据;

set :可以开始设定项目, device 指的是 eth0, eth1 等等界面代号;

动作与参数:包括有底下的这些动作:

up|down :启动 (up) 或关闭 (down) 某个接口,其他参数使用默认的以太网络;

address :如果这个装置可以更改 MAC 的话,用这个参数修改!

name :给予这个装置一个特殊的名字;

mtu :就是最大传输单元啊!

范例一:显示出所有的接口信息

[root@www ~]# ip link show

1: lo: mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:71:85:bd brd ff:ff:ff:ff:ff:ff

3: eth1: mtu 1500 qdisc noop state DOWN qlen 1000

link/ether 08:00:27:2a:30:14 brd ff:ff:ff:ff:ff:ff

4: sit0: mtu 1480 qdisc noop state DOWN

link/sit 0.0.0.0 brd 0.0.0.0

[root@www ~]# ip -s link show eth0

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:71:85:bd brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

314685 3354 0 0 0 0

TX: bytes packets errors dropped carrier collsns

27200 199 0 0 0 0

范例二:启动、关闭与设定装置的相关信息

[root@www ~]# ip link set eth0 up

#启动 eth0 这个装置接口;

[root@www ~]# ip link set eth0 down

#阿就关闭啊!简单的要命~

[root@www ~]# ip link set eth0 mtu 1000

#更改 MTU 的值,达到 1000 bytes,单位就是 bytes 啊!

范例三:修改网络卡代号、 MAC 等参数

[root@www ~]# ip link set eth0 name vbird

SIOCSIFNAME: Device or resource busy

#因为该装置目前是启动的,所以不能这样做设定。你应该要这样做:

[root@www ~]# ip link set eth0 down <==关闭界面

[root@www ~]# ip link set eth0 name vbird <==重新设定

[root@www ~]# ip link show <==观察一下

2: vbird: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:71:85:bd brd ff:ff:ff:ff:ff:ff

#怕了吧!连网络卡代号都可以改变!不过,玩玩后记得改回来啊!

#因为我们的 ifcfg-eth0 还是使用原本的装置代号!避免有问题,要改回来

[root@www ~]# ip link set vbird name eth0 <==界面改回来

[root@www ~]# ip link set eth0 address aa:aa:aa:aa:aa:aa

[root@www ~]# ip link show eth0

#如果你的网络卡支持硬件地址(MAC)可以更改的话,上面这个动作就可以更改

#你的网络卡地址了!厉害吧!不过,还是那句老话,测试完之后请立刻改回来啊!

关于额外的IP相关设定:ip address

如果说 ip link 是与 OSI 七层协定 的第二层资料连阶层有关的话,那么 ipaddress (ip addr) 就是与第三层网络层有关的参数啦!

主要是在设定与 IP 有关的各项参数,包括 netmask, broadcast 等等

用法

[root@www ~]# ip address show <==就是查阅 IP 参数啊!

[root@www ~]# ip address [add|del] [IP 参数] [dev 装置名] [相关参数]

选项与参数:

show : 单纯的显示出接口的 IP 信息啊;

add|del :进行相关参数的增加 (add) 或删除 (del) 设定,主要有:

IP 参数:主要就是网域的设定,例如 192.168.100.100/24 之类的设定喔;

dev :这个 IP 参数所要设定的接口,例如 eth0, eth1 等等;

相关参数:主要有底下这些:

broadcast:设定广播地址,如果设定值是 + 表示『让系统自动计算』

label :亦即是这个装置的别名,例如 eth0:0 就是了!

scope :这个界面的领域,通常是这几个大类:

global :允许来自所有来源的联机;

site :仅支持 IPv6 ,仅允许本主机的联机;

link :仅允许本装置自我联机;

host :仅允许本主机内部的联机;

范例一:显示出所有的接口之 IP 参数:

[root@www ~]# ip address show

1: lo: mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:71:85:bd brd ff:ff:ff:ff:ff:ff

inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

inet6 fe80::a00:27ff:fe71:85bd/64 scope link

valid_lft forever preferred_lft forever

3: eth1: mtu 1500 qdisc noop state DOWN qlen 1000

link/ether 08:00:27:2a:30:14 brd ff:ff:ff:ff:ff:ff

4: sit0: mtu 1480 qdisc noop state DOWN

link/sit 0.0.0.0 brd 0.0.0.0

范例二:新增一个接口,名称假设为 eth0:vbird

[root@www ~]# ip address add 192.168.50.50/24 broadcast + dev eth0 label eth0:vbird

[root@www ~]# ip address show eth0

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 08:00:27:71:85:bd brd ff:ff:ff:ff:ff:ff

inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

inet 192.168.50.50/24 brd 192.168.50.255 scope global eth0:vbird

inet6 fe80::a00:27ff:fe71:85bd/64 scope link

valid_lft forever preferred_lft forever

#看到上面的特殊字体了吧?多出了一行新的接口,且名称是 eth0:vbird

#至于那个 broadcast + 也可以写成 broadcast 192.168.50.255 啦!

[root@www ~]# ifconfig

eth0:vbird Link encap:Ethernet HWaddr 08:00:27:71:85:BD

inet addr:192.168.50.50 Bcast:192.168.50.255

Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

#如果使用 ifconfig 就能够看到这个怪东西了!

范例三:将刚刚的界面删除

[root@www ~]# ip address del 192.168.50.50/24 dev eth0

#删除就比较简单啊!

关于路由的相关设定: ip route

ip route 的功能几乎与 route这个指令差不多,但是,他还可以进行额外的参数设计,例如 MTU 的规划等等,相当的强悍啊

用法:

[root@www ~]# ip route show <==单纯的显示出路由的设定而已

[root@www ~]# ip route [add|del] [IP 或网域] [via gateway] [dev 装置]

选项与参数:

show : 单纯的显示出路由表,也可以使用 list ;

add|del :增加 (add) 或删除 (del) 路由的意思。

IP 或网域:可使用 192.168.50.0/24 之类的网域或者是单纯的 IP ;

via :从那个 gateway 出去,不一定需要;

dev :由那个装置连出去,这就需要了!

mtu :可以额外的设定 MTU 的数值喔!

范例一:显示出目前的路由资料

[root@www ~]# ip route show

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100

169.254.0.0/16 dev eth0 scope link metric 1002

default via 192.168.1.254 dev eth0

范例二:增加路由,主要是本机直接可沟通的网域

[root@www ~]# ip route add 192.168.5.0/24 dev eth0

#针对本机直接沟通的网域设定好路由,不需要透过外部的路由器

[root@www ~]# ip route show

192.168.5.0/24 dev eth0 scope link

....(省略)....

范例三:增加可以通往外部的路由,需透过 router

[root@www ~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0

[root@www ~]# ip route show

192.168.5.0/24 dev eth0 scope link

....(其他省略)....

192.168.10.0/24 via 192.168.5.100 dev eth0

#仔细看喔,因为我有 192.168.5.0/24 的路由存在 (我的网卡直接联系),

#所以才可以将 192.168.10.0/24 的路由丢给 192.168.5.100

#那部主机来帮忙传递喔!与之前提到的 route 指令是一样的限制!

范例四:增加预设路由

[root@www ~]# ip route add default via 192.168.1.254 dev eth0

#那个 192.168.1.254 就是我的预设路由器 (gateway) 的意思啊! ^_^

#真的记得,只要一个预设路由就 OK !

范例五:删除路由

[root@www ~]# ip route del 192.168.10.0/24

[root@www ~]# ip route del 192.168.5.0/24

5,常用的网络命令还有

ping,traceroute,netstat,nmap,nslookup,host,dig,telnet,tcpdump,lsof ,curl,wget .......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值