目录
查看网络接口信息
ifconfig:查看所有网络接口信息
语法:
ifconfig [网络接口名称]:查看网络接口信息
通常查看ens33接口
[ens33]:
-
en:Ether Net,表示网卡类型为以太网
-
s:表示热插拔卡槽上的设备(hot-plug Slot)
-
33:表示插槽编号
centos6的默认网卡是eth0(eth0是自定义名称)
centos7的默认网卡是ens33(ens33代表以太网第33号接口)
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#ifconfig ens33</span>
ens33<span style="color:#0000ff">:flags</span><span style="color:#981a1a">=</span><span style="color:#116644">4163</span><up,BROADCAST,RUNNING,MULTICAST> mut <span style="color:#116644">1500</span>
<span style="color:#aa5500"># 接口已启用,支持广播,正在运行,支持组播 最大传输单元1500字节 </span>
inet <span style="color:#116644">192</span>.168.190.129 netmask <span style="color:#116644">255</span>.255.255.0 broadcast <span style="color:#116644">192</span>.168.190.255
<span style="color:#aa5500"># ip地址 子网掩码 广播地址</span>
inet6 fe80::6e7:f7a9:1cd6:166e prefixlen <span style="color:#116644">64</span> scopeid 0x2<link>
<span style="color:#aa5500"># IPV6地址 子网长度 作用域,link:仅该接口有效</span>
ether <span style="color:#116644">00</span>:0c:29:38:ef:61 txqueuelen <span style="color:#116644">1000</span> (Ethernet)
<span style="color:#aa5500"># mac地址 传输队列长度 接口类型:以太网</span>
RX packets <span style="color:#116644">2943</span> bytes <span style="color:#116644">234118</span> (228.6 KiB)
<span style="color:#aa5500">#接收 报文个数 字节数总和</span>
RX errors <span style="color:#116644">0</span> dropped <span style="color:#116644">0</span> overruns <span style="color:#116644">0</span> frame <span style="color:#116644">0</span>
<span style="color:#aa5500">#接收 错误 丢弃 溢出 冲突帧数</span>
TX packets <span style="color:#116644">1133</span> bytes <span style="color:#116644">135986</span> (132.7 KiB)
<span style="color:#aa5500">#发送 报文个数 字节数总和 </span>
TX errors <span style="color:#116644">0</span> dropped <span style="color:#116644">0</span> overruns <span style="color:#116644">0</span> carrier <span style="color:#116644">0</span> collisions
<span style="color:#aa5500">#发送 错误 丢弃 溢出 载荷数 冲突</span></span></span>
临时配置网址
-
ifconfig 网卡名 ip地址及端口号:临时设置IP地址
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#ifconfig ens33 192.168.190.66/24</span>
[root@localhost ~]<span style="color:#aa5500">#ifconfig ens33</span>
ens33<span style="color:#0000ff">:flags</span><span style="color:#981a1a">=</span><span style="color:#116644">4163</span><up,BROADCAST,RUNNING,MULTICAST> mut <span style="color:#116644">1500</span>
inet <span style="color:#116644">192</span>.168.190.66 netmask <span style="color:#116644">255</span>.255.255.0 broadcast <span style="color:#116644">192</span>.168.190.255
<span style="color:#aa5500">#IP地址修改为192.168.190.66</span>
<span style="color:#aa5500">#临时修改,重启后失效</span></span></span>
-
ifconfig 网卡名:数字 ip地址/子网掩码:设置虚拟网卡,临时测试使用
-
ifconfig 网卡名 down:关闭网卡(等同于ifdown ens33)
-
ifconfig -a:查看所有网卡
-
ifconfig -s:查看网络通讯情况
网络接口配置文件:
-
/etc/sysconfig/network-scripts/目录下
<span style="background-color:#dadada"><span style="color:#1f0909"> ifcfg-ens33
<span style="color:#aa5500">#第一块网卡配置文件</span>
[root@localhost ~]<span style="color:#aa5500">#vim /etc/sysconfig/neywork-scripts/ifcfg-ens33</span>
<span style="color:#0000ff">DEVICE</span><span style="color:#981a1a">=</span>ens33
<span style="color:#0000ff">BOOTPROTO</span><span style="color:#981a1a">=</span>static
<span style="color:#0000ff">ONBOOT</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#0000ff">IPADDR</span><span style="color:#981a1a">=</span><span style="color:#116644">192</span>.168.190.2
<span style="color:#0000ff">NETMASK</span><span style="color:#981a1a">=</span><span style="color:#116644">255</span>.255.255.0
<span style="color:#0000ff">GATEWAY</span><span style="color:#981a1a">=</span><span style="color:#116644">192</span>.168.190.129
<span style="color:#0000ff">DNS1</span><span style="color:#981a1a">=</span><span style="color:#116644">192</span>.168.180.10
<span style="color:#0000ff">DNS2</span><span style="color:#981a1a">=</span><span style="color:#116644">192</span>.168.170.20
[root@localhost ~]<span style="color:#aa5500">#systemctl restart network</span>
<span style="color:#aa5500">#重启网络服务</span></span></span>
ip:查看设备ip地址
常用命令:ip a
临时修改网卡名称:
<span style="background-color:#dadada"><span style="color:#1f0909"> ip link <span style="color:#770088">set</span> ens33 down
<span style="color:#aa5500">#首先将原网卡ens33关掉</span>
ip link <span style="color:#770088">set</span> ens33 name net1
<span style="color:#aa5500">#修改网卡的名称为net1</span>
ip link <span style="color:#770088">set</span> net1 up
<span style="color:#aa5500">#最后重新启动网卡</span></span></span>
永久修改网卡名称:
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@test1 ~]<span style="color:#aa5500">#vim /etc/default/grub</span>
<span style="color:#0000ff">GRUB_TIMEOUT</span><span style="color:#981a1a">=</span><span style="color:#116644">5</span>
<span style="color:#0000ff">GRUB_DISTRIBUTOR</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"</span><span style="color:#009900">$(sed 's,release .*</span><span style="color:#0000ff">$,</span><span style="color:#009900">,g' /etc/system-release)</span><span style="color:#aa1111">"</span>
<span style="color:#0000ff">GRUB_DEFAULT</span><span style="color:#981a1a">=</span>saved
<span style="color:#0000ff">GRUB_DISABLE_SUBUMENU</span><span style="color:#981a1a">=</span><span style="color:#221199">true</span>
<span style="color:#0000ff">GRUB_TERMIANL_OUTPUT</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"console"</span>
<span style="color:#0000ff">GRUB_CMDLINE_LINUX</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"crashkernel=auto rd.lvm.lv=centos/swap rhgb quit net.ifnames=0"</span>
<span style="color:#aa5500">#在上方行加入 net.ifnames=0</span>
<span style="color:#0000ff">GRUB_DISABLE_RECOVERY</span><span style="color:#981a1a">=</span><span style="color:#aa1111">"true"</span>
[root@localhost ~]<span style="color:#aa5500">#grub2-mkconfig -o /boot/grub2/grub.cfg</span>
<span style="color:#aa5500">#统一网卡名称</span>
[root@localhost ~]<span style="color:#aa5500">#reboot</span>
[root@localhost ~]<span style="color:#aa5500">#ifconfig</span>
[root@localhost ~]<span style="color:#aa5500">#cd /etc/sysconfig/network-scripts/</span>
[root@localhost ~]<span style="color:#aa5500">#ls</span>
[root@localhost ~]<span style="color:#aa5500">#vim /ifcfg-ens33</span>
<span style="color:#116644">1</span> <span style="color:#0000ff">TPE</span><span style="color:#981a1a">=</span>Ethernet
<span style="color:#116644">2</span> <span style="color:#0000ff">PROXY_METHOD</span><span style="color:#981a1a">=</span>none
<span style="color:#116644">3</span> <span style="color:#0000ff">BROWSER_ONLY</span><span style="color:#981a1a">=</span>no
<span style="color:#116644">4</span> <span style="color:#0000ff">BOOTPROTO</span><span style="color:#981a1a">=</span>dhcp
<span style="color:#116644">5</span> <span style="color:#0000ff">DEFROUTE</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#116644">6</span> <span style="color:#0000ff">IPV4_FAILURE_FATAL</span><span style="color:#981a1a">=</span>no
<span style="color:#116644">7</span> <span style="color:#0000ff">IPV6INIT</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#116644">8</span> <span style="color:#0000ff">IPV6_AUTOCONF</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#116644">9</span> <span style="color:#0000ff">IPV6_DEFROUTE</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#116644">10</span> <span style="color:#0000ff">IPV6_FAILURE_FATAL</span><span style="color:#981a1a">=</span>no
<span style="color:#116644">11</span> <span style="color:#0000ff">IPV6_ADDR_GEN_MODE</span><span style="color:#981a1a">=</span>stable-privacy
<span style="color:#116644">12</span> <span style="color:#0000ff">NAME</span><span style="color:#981a1a">=</span>ens33
<span style="color:#aa5500">#删除name行,或改为net1</span>
<span style="color:#116644">13</span> <span style="color:#0000ff">UUID</span><span style="color:#981a1a">=</span>f432e08c-147d-41de-8c75-17d26b7737ad
<span style="color:#116644">14</span> <span style="color:#0000ff">DEVICE</span><span style="color:#981a1a">=</span>net1
<span style="color:#aa5500">#将device改为net1</span>
<span style="color:#116644">15</span> <span style="color:#0000ff">ONBOOT</span><span style="color:#981a1a">=</span>no
[root@localhost ~]<span style="color:#aa5500">#systemctl restart network</span>
[root@localhost ~]<span style="color:#aa5500">#ifconfig</span></span></span>
hostname 修改主机名
临时修改主机名:
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#hostname wang</span>
[root@wang ~]<span style="color:#aa5500">#</span>
<span style="color:#aa5500">#临时修改,重启后还原</span>
[root@wang ~]<span style="color:#aa5500">#reboot</span>
[root@localhost ~]<span style="color:#aa5500">#</span></span></span>
永久修改主机名:
<span style="background-color:#dadada"><span style="color:#1f0909"> CentOS <span style="color:#116644">7</span>
方法一:
[root@localhost ~]<span style="color:#aa5500">#hostnamectl set-hostname wang</span>
<span style="color:#aa5500">#重启后生效</span>
[root@localhost ~]<span style="color:#aa5500">#reboot</span>
[root@wang ~]<span style="color:#aa5500">#</span>
方法二:
[root@localhost ~]<span style="color:#aa5500">#vim /etc/hostname</span>
wang
<span style="color:#aa5500">#将原来的名称localhost改为wang</span>
<span style="color:#aa5500">#只对第一行的名称生效,下面写其他内容无效</span>
[root@localhost ~]<span style="color:#aa5500">#reboot</span>
[root@wang ~]<span style="color:#aa5500">#</span>
CentOS <span style="color:#116644">6</span>
[root@localhost ~]<span style="color:#aa5500">#vim /etc/sysconfig/network</span>
<span style="color:#0000ff">NETWORKING</span><span style="color:#981a1a">=</span><span style="color:#3300aa">yes</span>
<span style="color:#0000ff">HOSTNAME</span><span style="color:#981a1a">=</span>localhost.localdomain
<span style="color:#aa5500">#将原来的hostname修改</span>
<span style="color:#aa5500">#保存并重启</span>
</span></span>
ethtool 显示网卡的详细信息
-
ethtool -i ens33:查看网卡详细信息
-
ethtool -p ens33:让ens33网卡端口快速闪烁
route 查看路由表
-
route -n:查看默认路由条目
-
添加路由:route add -net IP地址/子网掩码 gw 下一跳地址
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#route add -net 192.168.100.0/24 gw 192.168.190.129</span>
<span style="color:#aa5500"># 添加的网段及子网掩码 连接的下一跳地址</span>
[root@localhost ~]<span style="color:#aa5500">#route -n</span>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
<span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">192</span>.168.190.2 <span style="color:#116644">0</span>.0.0.0 UG <span style="color:#116644">100</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> ens33
<span style="color:#116644">192</span>.168.100.0 <span style="color:#116644">192</span>.168.190.129 <span style="color:#116644">255</span>.255.255.0 UG <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> ens33
<span style="color:#116644">192</span>.168.122.0 <span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">255</span>.255.255.0 U <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> virbr0
<span style="color:#116644">192</span>.168.190.0 <span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">255</span>.255.255.0 U <span style="color:#116644">100</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> ens33
<span style="color:#aa5500">#可以看到添加了一个新的网段192.168.100.0</span></span></span>
-
删除路由:route del -net 网段/子网掩码
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#route del -net 192.168.100.0/24</span>
<span style="color:#aa5500"># 要删除的网段及子网掩码</span>
[root@localhost ~]<span style="color:#aa5500">#route -n</span>
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
<span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">192</span>.168.190.2 <span style="color:#116644">0</span>.0.0.0 UG <span style="color:#116644">100</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> ens33
<span style="color:#116644">192</span>.168.122.0 <span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">255</span>.255.255.0 U <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> virbr0
<span style="color:#116644">192</span>.168.190.0 <span style="color:#116644">0</span>.0.0.0 <span style="color:#116644">255</span>.255.255.0 U <span style="color:#116644">100</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span> ens33
<span style="color:#aa5500">#此时网段192.168.100.0已删除</span></span></span>
-
删除默认路由:
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#route del default</span></span></span>
-
重新添加路由:
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost ~]<span style="color:#aa5500">#route add default gw 192.168.190.129</span></span></span>
内核调优:开启路由转发
-
Linux系统本身是没有转发功能的,只有路由发送数据
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@localhost network-scripts]<span style="color:#aa5500">#tcpdump -i ens33 -nn icmp</span>
临时打开:
[root@localhost network-scripts]<span style="color:#aa5500">#echo 1 > /proc/sys/net/ipv4/ip_sforward</span>
或
[root@localhost network-scripts]<span style="color:#aa5500">#sysctl -w net.ipv4.ip_forward=1</span>
永久打开:
[root@localhost ~]<span style="color:#aa5500">#vim /etc/sysctl.conf</span>
net.ipv4.ip_forward <span style="color:#981a1a">=</span> <span style="color:#116644">1</span>
<span style="color:#aa5500">#将配置写入文件</span>
[root@localhost ~]<span style="color:#aa5500">#sysctl -p</span>
<span style="color:#aa5500">#读取修改后的配置</span></span></span>
netstat 查看网络连接情况
功能与ss相似
语法:
netstat [选项]
[选项]:
-
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-
-n:以数字的形式显示相关的主机地址、端口等信息
-
-r:显示路由表信息
-
-l:显示处于监听(Listening)状态的网络连接及端口信息
-
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
<span style="background-color:#dadada"><span style="color:#1f0909"> [root@test ~]<span style="color:#aa5500">#systemctl start httpd</span>
[root@test ~]<span style="color:#aa5500">#netstat -ntap |grep 80</span>
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span>.0.0.0:22 <span style="color:#116644">0</span>.0.0.0:* LISTEN <span style="color:#116644">6809</span>/sshd
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">192</span>.168.190.130:42016 <span style="color:#116644">60</span>.191.80.11:80 TIME_WAIT <span style="color:#0000cc">-</span>
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">192</span>.168.190.130:42004 <span style="color:#116644">60</span>.191.80.11:80 TIME_WAIT <span style="color:#0000cc">-</span>
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">192</span>.168.190.130:42020 <span style="color:#116644">60</span>.191.80.11:80 TIME_WAIT <span style="color:#0000cc">-</span>
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">192</span>.168.190.130:51610 <span style="color:#116644">202</span>.141.160.110:80 TIME_WAIT <span style="color:#0000cc">-</span>
tcp6 <span style="color:#116644">0</span> <span style="color:#116644">0</span> :::80 :::* LISTEN <span style="color:#116644">15617</span>/httpd
tcp6 <span style="color:#116644">0</span> <span style="color:#116644">0</span> :::22 :::* LISTEN <span style="color:#116644">6809</span>/sshd
[root@test ~]<span style="color:#aa5500">#netstat -ntap |grep ":22"</span>
tcp <span style="color:#116644">0</span> <span style="color:#116644">0</span> <span style="color:#116644">0</span>.0.0.0:22 <span style="color:#116644">0</span>.0.0.0:* LISTEN <span style="color:#116644">6809</span>/sshd
tcp <span style="color:#116644">0</span> <span style="color:#116644">36</span> <span style="color:#116644">192</span>.168.190.130:22 <span style="color:#116644">192</span>.168.190.1:10422 ESTABLISHED <span style="color:#116644">12298</span>/sshd: root@pt
tcp6 <span style="color:#116644">0</span> <span style="color:#116644">0</span> :::22 :::* LISTEN <span style="color:#116644">6809</span>/sshd
</span></span>
ss(socket statistics)内核搜索
-
查看网络连接状况,但主要用于获取socket(内核态)统计信息,比用户态更加直接
-
能够显示更多更详细的有关TCP和连接状态的信息,比netstat更加快速、高效
-
利用TCP协议栈中的tcp_diag,他是一个用于分析统计的模块,可以获得内核中的第一手信息
语法:
ss [选项]
[选项]:
-
-t:tcp协议相关,只显示tcp协议
-
-u:udp协议相关,只显示udp协议
-
-w:裸套接字相关
-
-x:unix sock相关
-
-l:listen状态的连接
-
-a:所有
-
-n:数字格式
-
-p:相关的程序及PID
-
-e:扩展的信息
-
-m:内存用量
-
-o:计时器信息
-
-r:--resolve 把 IP 解释为域名,把端口号解释为协议名称。 dns 服务
可以与time命令比较:time ss -atn
常用命令:
-
ss -natp
-
ss -naup
ping 测试网络连接性
常用命令:
-
ping -c:发送多少个包
-
ping -w:表示等待10秒
traceroute 路由追踪
-
traceroute IP地址
nslookup 域名解析
-
nslookup 域名
-
dig:显示更多详细信息
CDN:缓存服务器,内容分发网络(静态资源)
DNS:
<span style="background-color:#dadada"><span style="color:#1f0909"> 配置文件:
/etc/resolv.conf
[root@localhost ~]<span style="color:#aa5500">#vim /etc/resolv.conf</span>
search localdomain
nameserver <span style="color:#116644">202</span>.106.0.20
nameserver <span style="color:#116644">202</span>.106.148.1
<span style="color:#aa5500">#CentOS 7需要再NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS 7新添加nmcil命令进行设置</span>
</span></span>
补充:nslookup、dns、cdn等都与电商平台有关
重要文件路径:(服务器开启时优先检索以下文件)
-
/etc/hostname:主机名与IP地址的映射记录
-
/etc/hosts:域名解析文件,优先级最高
-
/etc/resolv.conf:域名解析服务器地址
本章重要命令:
-
route -n:查看网关
-
ifconfig:查看IP地址
-
nslookup:解析域名(Linux和Windows通用命令)
修改网卡配置
DEVICE=
BOOTPROTO=
ONBOOT=
IPADDR=
NETMAK(PREFIX)=
GATEWAY=
DNS1=
DNS2=