一.查看并设置网络
1.1查看网络配置
1.1.1 ifconfig-查看网卡信息
- 由net-tools包安装
-
命令常见格式与选项
ifconfig 具体网卡名称 | 只显示具体网卡的详细信息 |
---|---|
ifconfig -a | 显示所有网卡包括没有启动的网卡 |
ifconfig 网卡名称 [up/down] | 表示开启或关闭网卡 |
ifconfig 网络接口 IP地址 [/子网掩码长度] | 临时设置网卡地址 |
ifconfig 网卡名称:数字 地址 | 新建虚拟网卡 |
ifconfig -s | 查看通讯消息 |
命令 |
ifconfig
ifconfig down或者up
至于ifconfig中显示的信息,我们只需要注意几个参数即可:
- inet:ip地址
- netmask:掩码
- broadcast:广播地址
- ether:物理地址,即MAC地址
1.1.2 route-查看路由表信息
在Linux系统中,route命令一般用于查看路由表或者更改路由表状态
命令选项
route //打印路由表
route -n //以数字形式显示路由信息
route add -net 网段地址 gw IP地址 //添加指定网段的路由记录
route del -net 网段地址 //删除指定网段的路由记录
route add default gw IP地址 //向路由表中添加默认网关记录
route del default gw IP地址 //删除路由表中默认的网关记录
路由表各列字段说明:
列 | 含义 |
---|---|
Destination | 目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1) |
Gateway | 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关 |
Genmask | Destination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0 |
Flags | 标记,含义参考表格后面的解释 |
Metric | 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。) |
Ref | 路由项引用次数 (不在Linux内核中使用。) |
Use | 此路由项被路由软件查找的次数 |
Iface | 网卡名字,例如 eth0 |
1.1.3 hostname-临时修改用户名
root@localhost ~]# hostname | 查看当前主机名称 |
---|---|
[root@localhost ~]# hostnamectl set-hostname 主机名称 | 永久修改主机名称 |
[root@localhost ~]# vim /etc/hostname | 设置完后需重启系统才生效 |
1.1.4 netstat-查看网络连接情况
和ss命令类似,但是实际生产环境中建议使用ss命令,速度比较快
格式: netstat [选项]
选项 | 作用 |
---|---|
-a | 显示当前主机中所有活动的网络连接信息 |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-l | 显示处于监听状态的网络连接及端口信息 |
-t | 查看TCP协议相关的信息 |
-u | 显示UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(需要root权限) |
1.1.5 ss- 查看网络情况
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效。
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效 ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
选项 | 含义 |
---|---|
-t | tcp协议相关 |
-u | udp协议相关 |
-w | 套接字相关 |
-x | unix sock相关 |
-l | listen状态的连接 |
-a | 所有 |
-n | 数字格式 |
-p | 相关的程序及PID |
-e | 扩展的信息 |
-m | 内存用量 |
-o | 计时器信息 |
-r | --resolve 把 IP 解释为域名,把端口号解释为协议名称 |
示例:
查看TCP协议下的21端口是否开启
[root@localhost ~]# ss -ntap |grep 21 //查看TCP协议下的21端口
LISTEN 0 32 :::21 :::* users:(("vsftpd",pid=84913,fd=3))
复制代码
1.2测试网络连接
1.2.1 ping-测试网络连通性
ping 通常用来测试网络的连通性,在Linux中,ping命令一旦执行,是不会停止的,我们可以利用 -c 选项来指定ping的次数,也可以 ctrl+c 来中断ping的进程
格式:ping [选项] IP地址
常用选项 | 作用 |
---|---|
-c # | 指定ping #次 |
-w # | 在ping #秒后退出(linux中如果ping不通,会等一些时间,使用-w可以有效解决) |
1.2.2 traceroute—跟踪数据包的路由途径
traceroute命令用于追踪数据包传递的路线,即达到目标网络需要经过多少网关
1.2.3 nslookup-测试域名解析
nslookup/dig命令用来测试域名解析
格式:nslookup/dig 目标主机IP/域名地址
dig可以显示更多内容