Linux网络——配置网络之ifconfig家族命令

摘要:本文主要学习了ifconfig家族用来配置网络的命令。

ifconfig命令

ifconfig命令用来显示或设置网络接口信息,设置只是临时生效,永久生效需要更改配置文件。

在最新版的CentOS 7上已经没有了这个命令,需要使用 yum install -y net-tools 命令安装。

基本语法

 ifconfig [选项]

选项说明

 网卡:显示指定网卡接口信息。
-a:显示全部接口信息。
-s:显示摘要信息。
网卡 up:启动指定网卡。
网卡 down:关闭指定网卡。
网卡 reload:重启指定网卡。
网卡 IP地址:修改网卡的IP地址。
网卡 IP地址/子网掩码位数:修改网卡的IP地址和子网掩码。
网卡 netmask 子网掩码:修改网卡的子网掩码。
网卡 broadcast 地址:修改网卡的广播地址。
网卡 mtu 值:修改网卡的最大传输单元。
网卡 hw 地址:修改网卡的MAC地址。
arp:启用ARP协议。
arp:关闭ARP协议。
add:给指定网卡配置IPv6地址。
del:删除指定网卡的IPv6地址。

使用举例

 [root@localhost ~]# ifconfig eno16777736
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.35.128 netmask 255.255.255.0 broadcast 192.168.35.255
inet6 fe80::20c:29ff:fee3:52a0 prefixlen scopeid 0x20<link>
ether :0c::e3::a0 txqueuelen (Ethernet)
RX packets bytes (7.6 MiB)
RX errors dropped overruns frame
TX packets bytes (1.4 MiB)
TX errors dropped overruns carrier collisions [root@localhost ~]#

结果说明

 eno16777736:表示网卡名称。从flags可知该接口已启用,支持广播、组播。mtu表示最大传输单元为1500。
inet:表示IPv4地址。netmask表示子网掩码。broadcast表示广播地址。
inet6:表示IPv6地址。prefixlen表示掩码长度。scopeid表示作用域,link表示仅该接口有效。
ether:表示网卡接口的MAC地址。txqueuelen表示传输队列长度。Ethernet表示接口类型为Ethernet。
RX:表示接收的报文情况,TX表示发送的报文情况。
packets:表示接收报文数,bytes表示接收总字节数,errors表示错误报文数,dropped表示丢弃报文数,overruns表示溢出报文数,carrier表示载荷报文数,collisions表示冲突报文数。

route命令

route命令用于显示和操作IP路由表,设置只是临时生效,永久生效需要更改配置文件。

基本语法

查看路由信息:

 route [-nee]

设置路由信息:

 route [add|del] [-net|-host] [netmask] [reject|dev|gw]

选项说明

查看路由信息:

 -n:不解析主机名称,使用IP地址和端口号。
-ee:使用更详细的资讯来显示。

设置路由信息:

 -net IP地址:表示后面连接的是到一个网络的路由表。
-host 主机:表示后面连接的是到一个主机的路由表。
netmask 子网掩码:指定路由表的子网掩码。
reject:设置指定路由不可达。
dev 网卡名称:指定由那个网路卡连线出去。
gw IP地址 网卡名称:指定由那个网关连接出去。

使用举例

查看路由信息:

 [root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.35.2 0.0.0.0 UG eno16777736
192.168.35.0 0.0.0.0 255.255.255.0 U eno16777736
[root@localhost ~]#

设置路由信息:

 [root@localhost ~]# route add -net 192.168.35.0 netmask 255.255.255.0 dev eth0
[root@localhost ~]# route add -net 10.0.0.0 netmask 255.0.0.0 reject
[root@localhost ~]# route del -net 192.168.35.0 netmask 255.255.255.0 dev eth0
[root@localhost ~]# route del -net 10.0.0.0 netmask 255.0.0.0 reject

字段说明

路由信息字段说明:

 Destination:表示目标网络或目标主机。
Gateway:表示网关地址,如果没有就显示星号。
Genmask:表示网络掩码,目标是主机时需要设为255.255.255.,目标是默认路由时会设置为0.0.0.。
Flags:表示旗标,总共有多个旗标。
常用的值如下:
U (route is up):该路由是启动(up)的。
H (target is a host):该路由是到一个主机(host)而非网域。
G (use gateway):该路由是到一个网关(gateway)。
R (reinstate route for dynamic routing):恢复动态路由产生的表项。
D (dynamically installed by daemon or redirect):该路由是由服务或者重定向创建的动态(dynamically)路由。
M (modified from routing daemon or redirect):该路由已经被修改(modified)了。
! (reject route):这个路由将不会被接受,用来抵挡不安全的网域。
Metric:表示路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的。
Ref:表示路由引用次数。
Use:表示该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。
MSS:表示路由TCP连接的默认最大分段大小。
Window:表示路由TCP连接的默认窗口大小。
irtt:表示初始往返时间(rtt)。内核使用它来猜测最佳的TCP协议参数,而无需等待(可能是缓慢的)答案。
HH:表示引用缓存路由的硬件头缓存的ARP条目和缓存路由的数量。如果缓存路由的接口不需要硬件地址,则为-。
Arp:表示缓存路由的硬件地址是否最新。
Iface:表示网络接口名。

netstat命令

netstat命令用于显示网络相关信息,如网络连接,路由表,接口状态等。

基本语法

 netstat [选项]

选项说明

 -t:显示tcp协议相关的连接,tcp连接均有其连接状态,而所有连接状态在FSM(Finate State Machine,有限状态机)内进行转换。
-u:显示udp协议相关的连接,udp连接没有状态。
-w:显示raw协议相关的连接。
-a:显示所有状态的连接。
-x:显示UNIX网络连接。
--ip:显示Internet网络连接,包含tcp、udp、raw类型的连接。
-l:显示处于监听状态的连接。
-e:以扩展格式显示。
-n:以数字格式显示IP和Port。
-p:显示相关进程和PID。
-s:显示网络协议的统计。
-i:显示接口信息。
-r:显示路由表信息。

使用举例

显示Internet网络连接:

 [root@localhost ~]# netstat -tanpe
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0.0.0.0: 0.0.0.0:* LISTEN /sshd
tcp 127.0.0.1: 0.0.0.0:* LISTEN /master
tcp 192.168.35.128: 192.168.35.1: ESTABLISHED /sshd: root@pts
tcp6 ::: :::* LISTEN /sshd
tcp6 ::: :::* LISTEN /master
[root@localhost ~]#

显示Unix域套接字:

 [root@localhost ~]# netstat -xanp
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix [ ACC ] STREAM LISTENING /systemd /var/run/dbus/system_bus_socket
unix [ ] DGRAM /systemd /run/systemd/notify
unix [ ACC ] STREAM LISTENING /systemd /run/systemd/journal/stdout
unix [ ] DGRAM /systemd /run/systemd/journal/socket
unix [ ] DGRAM /systemd /dev/log
...
[root@localhost ~]#

显示路由信息,字段含义参考route命令:

 [root@localhost ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.35.2 0.0.0.0 UG eno16777736
192.168.35.0 0.0.0.0 255.255.255.0 U eno16777736
[root@localhost ~]#

显示接口概要信息:

 [root@localhost ~]# netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eno16777736 BMRU
lo LRU
[root@localhost ~]#

显示接口详细信息,字段含义参考ifconfig命令:

 [root@localhost ~]# netstat -ie
Kernel Interface table
eno16777736: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.35.128 netmask 255.255.255.0 broadcast 192.168.35.255
inet6 fe80::20c:29ff:fee3:52a0 prefixlen scopeid 0x20<link>
ether :0c::e3::a0 txqueuelen (Ethernet)
RX packets bytes (8.0 MiB)
RX errors dropped overruns frame
TX packets bytes (1.8 MiB)
TX errors dropped overruns carrier collisions lo: flags=<UP,LOOPBACK,RUNNING> mtu
inet 127.0.0.1 netmask 255.0.0.0
inet6 :: prefixlen scopeid 0x10<host>
loop txqueuelen (Local Loopback)
RX packets bytes (6.4 KiB)
RX errors dropped overruns frame
TX packets bytes (6.4 KiB)
TX errors dropped overruns carrier collisions [root@localhost ~]#

字段说明

查看Internet网络连接(tcp,udp,raw),结果字段含义如下:

 Proto:表示套接字使用的协议。
Recv-Q:表示等待接收的队列长度。
Send-Q:表示等待发送的队列长度。
Local Address:表示本地主机地址。
Foreign Address:表示远程连接地址。
State:表示所处的状态。
常用的值如下:
ESTABLISHED:套接字有一个有效连接。
SYN_SENT:套接字尝试建立一个连接。
SYN_RECV:从网络上收到一个连接请求。
FIN_WAIT1:套接字已关闭,连接正在断开。
FIN_WAIT2:连接已关闭,套接字等待远程方中止。
TIME_WAIT:在关闭之后,套接字等待处理仍然在网络中的分组。
CLOSED:套接字未用。
CLOSE_WAIT:远程方已关闭,等待套接字关闭。
LAST_ACK:远程方中止,套接字已关闭。等待确认。
LISTEN:套接字监听进来的连接。如果不设置-l或者-a选项,将不显示出来这些连接。
CLOSING:套接字都已关闭,而还未把所有输出发出。
UNKNOWN:套接字状态未知。
User:表示启动此进程的用户,扩展字段。
Inode:表示对应的套接字文件的inode号,扩展字段。
PID/Program name:表示处理此套接字的程序进程名和PID。

查看Unix域套接字,结果字段含义如下:

 Proto:表示套接字使用的协议,通常是unix。
RefCnt:表示使用数量,也就是通过此套接字连接的进程数。
Flags:表示的套接字的标志。通常为SO_ACCEPTON(显示为ACC),SO_WAITDATA(W)或SO_NOSPACE(N)。
Type:表示套接字使用的类型。
常用的值如下:
SOCK_DGRAM:此套接字用于数据报(无连接)模式。
SOCK_STREAM:流模式(连接)套接字。
SOCK_RAW:此套接字用于RAW模式。
SOCK_RDM:一种服务可靠性传递信息。
SOCK_SEQPACKET:连续分组套接字。
SOCK_PACKET:RAW接口使用套接字。
UNKNOWN:未知。
State:表示状态。
常用的值如下:
FREE:套接字未分配。
LISTENING:套接字正在监听一个连接请求。除非设置-l或者-a选项,否则不显示。
CONNECTING :套接字正要建立连接。
CONNECTED:套接字已连接。
DISCONNECTING:套接字已断开。
UNKNOWN:套接字状态未知。
空:套接字未连。
I-Node:表示对应的套接字文件的inode号,扩展字段。
PID/Program name:表示处理此套接字的程序进程名和PID。
Path:表示当相应进程连入套接字时显示的路径名。

查看接口信息,结果字段含义如下:

 Iface:表示网卡接口名称。
MTU:表示接口的最大传输单元。
RX:表示接收的数据包情况,RX-OK表示准确接收的包数,RX-ERR表示产生错误的包数,RX-DRP表示丢弃的包数,RX-OVR表示溢出的包数。
TX:表示发送的数据包情况,TX-OK表示准确发送的包数,TX-ERR表示产生错误的包数,TX-DRP表示丢弃的包数,TX-OVR表示溢出的包数。
Flg:表示接口设置的标记,在利用ifconfig显示接口配置时,这些标记都采用一个字母。
常用的值如下:
B:已经设置了一个广播地址。
L:该接口是一个回送设备。
M:接收所有数据包(混乱模式)。
N:避免跟踪。
O:在该接口上,禁用ARP。
P:这是一个点到点链接。
R:接口正在运行。
U:接口处于活动状态。

Linux网络——配置网络之ifconfig家族命令的更多相关文章

  1. Linux网络——配置网络之iproute家族命令

    Linux网络——配置网络之iproute家族命令 摘要:本文主要学习了iproute家族用来配置网络的命令. ip命令 ip命令用于查看和管理IP地址.接口.路由.隧道等.用来取代ifconfig命 ...

  2. Linux 环境配置 网络端口进程命令

    网络通信命令ping 命令路径:/bin/ping 执行权限:所有用户作用:测试网络的连通性语法:ping 选项 IP地址  -c 指定发送次数    ping 命令使用的是icmp协议,不占用端口e ...

  3. Linux如何配置网络ip?

    Linux如何配置网络ip? 1.首先切换至root用户 su root 输入root用户密码 2.借助dhclient工具自动生成一个网络内可用的ip地址 我们可以手动配置对应的网段的ip地址,但是 ...

  4. Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)

    作业一:临时配置网络(ip,网关,dns)+永久配置 设置临时网络配置: 配置IP ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址    /24 ...

  5. 转载_虚拟机下LInux(终端)配置网络的方法

    出自: http://www.360doc.com/content/14/1027/11/17496895_420258403.shtml 对文章的重点进行剪贴,方便查看. 这几天在虚拟机vmware ...

  6. 虚拟机下Linux(终端)配置网络的方法

    这几天在虚拟机vmware上部署centos系统,想通过内部联网用yum命令安装必需的软件,但是一直不能静态地址联网,今天终于找到一个方法centos内部设置IP,对外联网.设置过程如下: .首先是网 ...

  7. linux 图形配置网络

    命令:setup 打开网络等系统信息的图形配置 yyp复制 vi /etc/sysconfig/network-scripts/ifcfg-eth0 配置网络参数 重启网卡:/etc/init.d/n ...

  8. 【联网】虚拟机下Linux(终端)配置网络的方法

    这几天在虚拟机vmware上部署centos系统,想通过内部联网用yum命令安装必需的软件,但是一直不能静态地址联网,今天终于找到一个方法centos内部设置IP,对外联网.设置过程如下: 1.首先是 ...

  9. linux 安装 配置网络 备份 快照

    安装系统准备: 1.软件准备 vmware workstation14.vm14key.centos系统镜像 secureCRT http://sw.bos.baidu.com/sw-search-s ...

随机推荐

  1. java超市购物管理系统

    一.概述 1.鹏哥前面有写过java项目超市管理系统项目,传送门 2.收到很多朋友私信给我,也很感谢老铁们的反馈和交流,前面这个项目只是对java基础知识和面向对象的思想练习,但是没有涉及到java如 ...

  2. css样式优先级计算规则

    css样式的优先级分为引入优先级和声明优先级. 引入优先级 引入样式一般分为外部样式,内部样式,内联样式. 外部样式:使用link引入的外部css文件. 内部样式:使用style标签书写的css样式. ...

  3. distinct关键字对执行计划的影响

    一.前言 最近看到一段话,"count(distinct 列名)若列上有索引,且有非空约束或在where子句中使用is not null,则会选择索引快速全扫描.其余情况则选择全表扫描&qu ...

  4. Python中7个不一样的代码写法

    打印index 对于一个列表,或者说一个序列我们经常需要打印它的index,一般传统的做法或者说比较low的写法: 更优雅的写法是多用enumerate 两个序列的循环 我们会经常对两个序列进行计算或 ...

  5. JS基础语法---Date对象---格式化日期

    格式化后的指定格式的日期和时间,封装一个函数 function getDate() { var dt = new Date(); var year = dt.getFullYear(); var mo ...

  6. 【Gradle】Android Gradle 多项目构建

    Android Gradle 多项目构建 Android 项目区别 Android项目一般分为库项目,应用项目,测试项目,Android Gradle 根据这些项目分别对应3种插件:com.andro ...

  7. tomcat7控制台日志中文乱码

    windows电脑 idea启动Tomcat调试程序时,Tomcat控制台输出里,中文是乱码. 解决办法: 修改Tomcat/bin/catalina.bat文件: set JAVA_OPTS= 的内 ...

  8. 深入理解计算机系统cp1:存储单位与编码

    摘要: 理解计算机是如何存储数据的. 原文:深入理解计算机系统cp1:存储单位与编码 作者:Chor Fundebug经授权转载,版权归原作者所有. 1. 存储单位 位:即 bit,表示二进制位,要么 ...

  9. Nginx一般配置

    文件为 nginx.conf ,一般配置内容如下: user root;worker_processes auto;#pid /var/run/nginx.pid;#error_log /dev/st ...

  10. hadoop节点动态删除与增加

    动态删除 1)修改配置文件 修改hdfs-site.xml文件,适当减小dfs.replication的数量,增加dfs.hosts.exclude选项 vi hdfs-site.xml <pr ...