网络配置文件
网卡信息文件
:::color3
/etc/sysconfig/network-scripts
:::
配置 | 描述 |
---|---|
DEVICE | 网卡设备名-必填 |
BOOTPROTO | 必填:none,static(静态 IP),dhcp(动态 IP) |
HWADDR | MAC 地址 |
NM_CONTROLLED | 是否启用Network Manager图形管理工具,建议 no |
ONBOOT | 是否默认启动网卡 |
TYPE | 网络类型(Ethernet:以太网) |
UUID | 网卡唯一识别码 |
*IPADDR | IP地址 |
*NETMASK | 子网掩码 |
*GATEWAY | 网关 |
*DNS1 | DNS |
IPV6INIT | 是否启用IPv6 |
USERCTL | 是否允许非root用户控制此网卡 |
DNS配置文件
:::color3
/etc/resolv.conf
:::
[root@localhost network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@localhost network-scripts]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 103.224.222.222
nameserver 103.224.222.223
[root@localhost network-scripts]#
配置 | 描述 |
---|---|
nameserver | 定义 DNS 服务器 , 如果没指定nameserver就找不到DNS服务器 nameserver 表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver |
domain | 声明主机的域名 很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容 |
search | 它的多个参数指明域名查询顺序 当要查询没有域名的主机,主机将在由search声明的域中分别查找 domain和search不能共存 |
Host 配置文件
:::color3
/etc/hosts
:::
[root@localhost sysconfig]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@localhost sysconfig]#
私有IP 主机名 别名 虚拟域名
网络调试网命令
ifconfig
</font> | 解释 |
---|---|
UP | 网卡处在开启状态 |
RUNNING | 网卡的网线被接上 |
MULTICAST | 支持组播 |
mtu 1500 | 最大传输单元:1500字节 |
inet | 网卡的IP地址 |
netmask | 掩码地址 |
broadcast | 广播地址 |
RX packets [xx] bytes [xx] | 接收数据包数量、字节数 |
TX packets [xx] bytes [xx] | 发送数据包数量、字节数 |
放弃 ifconfig
的全部修改,以 ifcfg-eth*
的配置文件重置网络设置
/etc/init.d/network restart
ifconfig 所有配置修改功能都只是临时修改,重启网络服务就会失效
ifup/ifdown
配置文件启动和关闭网卡 /etc/sysconfig/network-scripts/ifcfg-eth*
ifup [interface]
ifdown [interface]
ifup 与 ifdown 都是 shell 脚本,他会直接到 /etc/sysconfig/network-scripts
目录下查找对应的配置文件,例如 ifup eth0
会读取 ifcfg-eth0
这个文件的内容,然后加以设置。
由于这两个脚本主要是通过读取配置文件 (ifcfg-eth*) 来启动与关闭网络接口,所以在使用前请确定 ifcfg-eth*
route
显示并设置Linux内核中的网络路由表
linux系统中设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的ip地址设置为Linux机器的默认路由
-n
:不使用通信协议或主机名,直接显示数字形式的IP地址和端口号
-net
:到一个网络的路由表
-host
:到一个主机的路由表add
:增加指定的路由记录
del
:删除指定的路由记录
gw
:设置默认网关
- Destination, Genmask:分别是 IP 与 子网掩码。它们组合成为一个完整的网域。
- Gateway:该网域是通过哪个 网关 连接出去的。如果显示 0.0.0.0 表示该路由是直接由本机传送,也就是可以通过局域网的 MAC 直接发送;如果有显示 IP 的话,表示该路由需要经过路由器 (网关) 的帮忙才能够传送出去。
- Flags为路由标志,标记当前网络节点的状态,Flags标志说明
netstat
查询系统的状态信息
- netstat [选项]
- 常用选项
-t
:列出TCP协议的端口
-u
:列出UDP协议的端口
-n
:不使用域名与服务名,而使用IP地址和端口号
-l
:仅列出在监听状态的网络服务
-a
:列出所有的网络连接
-p
:显示正在使用Socket的程序识别码和程序名称
-r
:显示路由表
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口
netstat -at #列出所有tcp端口
netstat -au #列出所有udp端口
列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
在netstat输出中显示 PID 和进程名称
netstat -tulnp
找出程序运行的端口
netstat -anp | grep ssh
找出运行在指定端口的进程
netstat -anp | grep ':22'
ss socket
显示处于活动状态的Socket信息, ss命令可以用来获取socket统计信息。
ss [选项]
常用选项
-t
:列出TCP协议的Socket
-u
:列出UDP协议的Socket
-n
:不使用域名与服务名,而使用IP地址和端口号
-l
:仅列出在监听状态的Socket
-a
:列出所有的Socket
-p
:显示正在使用Socket的进程信息
列出TCP连接和UDP连接
ss -at #列出tcp连接
ss -au #列出udp连接
列出所有处于监听状态的 Sockets
ss -lt #列出监听 tcp 端口
ss -lu #列出监听 udp 端口
nslookup
域名解析工具,就是查DNS信息用的命令。使用 /etc/resolv.conf 这个文件作为 DNS 服务器的来源选择。
nslookup [主机名或IP] nslookup 域名
:::color4
若系统默认没有 nslookup命令,则使用下面命令进行安装
yum install bind-utils
:::
dig
域名查询工具,可以用来测试域名系统工作是否正常
:::color4
若系统默认没有 dig
命令,则使用下面命令进行安装
yum install bind-utils
:::
dig [选项] [主机名]
@<DNS服务器IP>
:dig命令默认使用 /etc/resolv.conf
文件中的 DNS 主机来解析域名,若设置该参数,则使用这里设置的 DNS 主机进行解析。
-b <IP地址>
:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求。
ping
ping命令用来测试主机之间网络的连通性。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
ping [选项] [域名或IP地址]
-c <完成次数>
:设置完成要求回应的次数;
-i <间隔秒数>
:指定收发信息的间隔时间;
-s <数据包大小>
:设置ICMP数据部分的大小;
telnet
telnet 探测远程端口是否开放, telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了
:::color3
如果没有自行安装 yum install telnet -y
:::
:::color3
telnet [域名或IP地址] [端口号]
:::
traceroute
追踪数据包在网络上的传输时的全部路径
traceroute 和 ping 命令一样,都是用 ICMP 协议, 部分节点可能会出现不通的情况,此时会出现 * * *
:::color3
如果没有自行安装 yum install traceroute -y
:::
:::danger
traceroute [选项] [域名或IP]
:::
-n
:直接使用IP地址而非主机名称,速度更快
tcpdump
网络中传输的数据包全部捕获过来的进行分析
1、linux平台将网络中传输的数据包全部捕获过来的进行分析
2、支持网络、传输层协议等吸引捕获过滤
3、数据发送和接收的主机、网卡、端口等各种过滤捕获数据规则
4、提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息
5、结合wireshark工具分析捕获的报文
:::warning
[root@localhost ~]$ tcpdump 执行tcpdump命令
:::