Linux网络配置

查看网络接口信息
ifconfig:查看所有网络接口信息

语法:

ifconfig [网络接口名称]:查看网络接口信息

通常查看ens33接口

[ens33]

  • en:Ether Net,表示网卡类型为以太网

  • s:表示热插拔卡槽上的设备(hot-plug Slot)

  • 33:表示插槽编号

centos6的默认网卡是eth0(eth0是自定义名称)

centos7的默认网卡是ens33(ens33代表以太网第33号接口)

[root@localhost ~]#ifconfig ens33
ens33:flags=4163<up,BROADCAST,RUNNING,MULTICAST> mut 1500
        #    接口已启用,支持广播,正在运行,支持组播    最大传输单元1500字节  
       inet 192.168.190.129  netmask 255.255.255.0  broadcast 192.168.190.255  
       #    ip地址                    子网掩码                  广播地址
       inet6 fe80::6e7:f7a9:1cd6:166e  prefixlen 64  scopeid 0x2<link>
       #     IPV6地址                   子网长度       作用域,link:仅该接口有效
       ether 00:0c:29:38:ef:61  txqueuelen 1000  (Ethernet)
       #     mac地址             传输队列长度        接口类型:以太网
       RX packets 2943  bytes 234118 (228.6 KiB)
       #接收 报文个数     字节数总和
       RX errors 0  dropped 0  overruns 0  frame 0
       #接收 错误    丢弃        溢出         冲突帧数
       TX packets 1133  bytes 135986 (132.7 KiB)
       #发送 报文个数     字节数总和 
       TX errors 0  dropped 0 overruns 0  carrier 0  collisions
       #发送 错误    丢弃       溢出         载荷数      冲突

临时配置网址
  • ifconfig 网卡名 ip地址及端口号:临时设置IP地址

[root@localhost ~]#ifconfig ens33 192.168.190.66/24
[root@localhost ~]#ifconfig ens33
ens33:flags=4163<up,BROADCAST,RUNNING,MULTICAST> mut 1500
      inet 192.168.190.66  netmask 255.255.255.0  broadcast 192.168.190.255 
      #IP地址修改为192.168.190.66
      #临时修改,重启后失效

  • ifconfig  网卡名:数字 ip地址/子网掩码:设置虚拟网卡,临时测试使用

  • ifconfig 网卡名 down:关闭网卡(等同于ifdown ens33

  • ifconfig  -a:查看所有网卡

  • ifconfig  -s:查看网络通讯情况

网络接口配置文件:
  • /etc/sysconfig/network-scripts/目录下

ifcfg-ens33
#第一块网卡配置文件

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.190.2
NETMASK=255.255.255.0
GATEWAY=192.168.190.129
DNS1=192.168.180.10
DNS2=192.168.170.20

[root@localhost ~]#systemctl restart network
#重启网络服务

ip:查看设备ip地址

常用命令:ip a

临时修改网卡名称:

ip link set ens33 down
#首先将原网卡ens33关掉
ip link set ens33 name net1
#修改网卡的名称为net1
ip link set net1 up
#最后重新启动网卡

ip link set ens33 down
#首先将原网卡ens33关掉
ip link set ens33 name net1
#修改网卡的名称为net1
ip link set net1 up
#最后重新启动网卡

[root@test1 ~]#vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's,release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBUMENU=true
GRUB_TERMIANL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/swap rhgb quit net.ifnames=0"
#在上方行加入 net.ifnames=0
GRUB_DISABLE_RECOVERY="true"

[root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
#统一网卡名称

[root@localhost ~]#reboot
[root@localhost ~]#ifconfig
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost ~]#ls
[root@localhost ~]#vim /ifcfg-ens33
1 TPE=Ethernet
  2 PROXY_METHOD=none
  3 BROWSER_ONLY=no
  4 BOOTPROTO=dhcp
  5 DEFROUTE=yes
  6 IPV4_FAILURE_FATAL=no
  7 IPV6INIT=yes
  8 IPV6_AUTOCONF=yes
  9 IPV6_DEFROUTE=yes
 10 IPV6_FAILURE_FATAL=no
 11 IPV6_ADDR_GEN_MODE=stable-privacy
 12 NAME=ens33
 #删除name行,或改为net1
 13 UUID=f432e08c-147d-41de-8c75-17d26b7737ad
 14 DEVICE=net1
 #将device改为net1
 15 ONBOOT=no

[root@localhost ~]#systemctl restart network
[root@localhost ~]#ifconfig

hostname 修改主机名

临时修改主机名:

[root@localhost ~]#hostname wang
[root@wang ~]#
#临时修改,重启后还原
[root@wang ~]#reboot
[root@localhost ~]#

永久修改主机名:

CentOS 7
方法一:
[root@localhost ~]#hostnamectl set-hostname wang
#重启后生效
[root@localhost ~]#reboot
[root@wang ~]#
方法二:
[root@localhost ~]#vim /etc/hostname
wang
#将原来的名称localhost改为wang
#只对第一行的名称生效,下面写其他内容无效

[root@localhost ~]#reboot
[root@wang ~]#


CentOS 6
[root@localhost ~]#vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
#将原来的hostname修改
#保存并重启

ethtool 显示网卡的详细信息
  • ethtool -i ens33:查看网卡详细信息

  • ethtool -p ens33:让ens33网卡端口快速闪烁

route 查看路由表
  • route -n:查看默认路由条目

  • 添加路由:route add -net IP地址/子网掩码 gw 下一跳地址

[root@localhost ~]#route add -net 192.168.100.0/24 gw 192.168.190.129
#                                 添加的网段及子网掩码   连接的下一跳地址
[root@localhost ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.190.2   0.0.0.0         UG    100    0        0 ens33
192.168.100.0   192.168.190.129 255.255.255.0   UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.190.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
#可以看到添加了一个新的网段192.168.100.0

  • 删除路由:route del -net 网段/子网掩码

[root@localhost ~]#route del -net 192.168.100.0/24
#                                 要删除的网段及子网掩码
[root@localhost ~]#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.190.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.190.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
#此时网段192.168.100.0已删除

  • 删除默认路由:

[root@localhost ~]#route del default
  • 重新添加路由:

[root@localhost ~]#route add default gw 192.168.190.129

内核调优:开启路由转发

  • Linux系统本身是没有转发功能的,只有路由发送数据

[root@localhost network-scripts]#tcpdump -i ens33 -nn icmp

临时打开:
[root@localhost network-scripts]#echo 1 > /proc/sys/net/ipv4/ip_sforward

[root@localhost network-scripts]#sysctl -w net.ipv4.ip_forward=1

永久打开:
[root@localhost ~]#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#将配置写入文件
 
[root@localhost ~]#sysctl -p
#读取修改后的配置

netstat 查看网络连接情况

功能与ss相似

语法:

netstat [选项] 

[选项]:

  • -a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)

  • -n:以数字的形式显示相关的主机地址、端口等信息

  • -r:显示路由表信息

  • -l:显示处于监听(Listening)状态的网络连接及端口信息

  • -t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息

  • -u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息

  • -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

[root@test ~]#systemctl start httpd
[root@test ~]#netstat -ntap |grep 80
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6809/sshd           
tcp        0      0 192.168.190.130:42016   60.191.80.11:80         TIME_WAIT   -                   
tcp        0      0 192.168.190.130:42004   60.191.80.11:80         TIME_WAIT   -                   
tcp        0      0 192.168.190.130:42020   60.191.80.11:80         TIME_WAIT   -                   
tcp        0      0 192.168.190.130:51610   202.141.160.110:80      TIME_WAIT   -                   
tcp6       0      0 :::80                   :::*                    LISTEN      15617/httpd         
tcp6       0      0 :::22                   :::*                    LISTEN      6809/sshd 
[root@test ~]#netstat -ntap |grep ":22"
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6809/sshd           
tcp        0     36 192.168.190.130:22      192.168.190.1:10422     ESTABLISHED 12298/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      6809/sshd     

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:

配置文件:
/etc/resolv.conf

[root@localhost ~]#vim /etc/resolv.conf
search localdomain
nameserver 202.106.0.20
nameserver 202.106.148.1
#CentOS 7需要再NetworkManager.conf文件main段内设置dns=none,并重启NetworkManager服务,或者使用CentOS 7新添加nmcil命令进行设置

补充: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=

tcpdump 抓包、网络排障工具

默认抓第一块网卡的信息

语法:

tcpdump [选项] [协议] [数据方向] [抓取类型]

[选项]:

  • -i:指定抓取的网卡

  • -n或v:显示详细信息,n或v越多越详细

  • -t:每行输出不显示时间

  • -tt:输出一个时间戳

  • -ttt:每行间的时间间隔

  • -tttt:详细信息

  • -c:指定抓取包的个数并退出

[协议]:

  • tcp、udp、icmp

  • ip、ipv6

  • arp

[数据方向]:

  • src:源

  • dst:目的

  • src and dst

[抓取类型]:

  • host:主机

  • net:网段

  • port:端口

  • port range:端口范围

例题:
#请抓取源地址是10.0.0.6,目的地址是10.0.07,经过eth0网卡的icmp协议包
[root@localhost ~]#tcpump -i eth0 and src host 10.0.0.6 and dst host 10.0.0.7 

bond 多网卡绑定技术

作用:

  • 高可用:同一设备可以使用多网卡

  • 负载均衡:将多块网卡虚拟合成一个网卡

  • 可实现系统调优

网卡配置:

#在VMware虚拟机上创建一个新的网卡

[root@localhost ~]#ifconfig
#查看本机的网卡信息

[root@localhost ~]#cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]#ls
ifcfg-ens33  ifdown-eth   ifdown-isdn    ifdown-sit       ifup          ifup-ib    ifup-plip   ifup-routes    ifup-tunnel        network-functions-ipv6
ifcfg-lo     ifdown-ib    ifdown-post    ifdown-Team      ifup-aliases  ifup-ippp  ifup-plusb  ifup-sit       ifup-wireless
ifdown       ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-ipv6  ifup-post   ifup-Team      init.ipv6-global
ifdown-bnep  ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-isdn  ifup-ppp    ifup-TeamPort  network-functions
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bond0
#新建ifcfg-bond0文件,并将ifcfg-ens33的内容复制进新文件
[root@localhost network-scripts]#vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=10.0.0.100
PREFIX=8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

[root@localhost network-scripts]#vim ifcfg-ens33
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

[root@localhost network-scripts]#vim ifcfg-ens36
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes

[root@localhost network-scripts]#systemctl restart network
#重启网络服务

网卡配置实验:

  • 新建网卡

  • 查看新的网卡名

  • 进入网卡目录

  • 配置bond0

  • 配置ens33

  • 配置ens36(新网卡)

  • 重启网络服务

添加bonding接口:

#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.91.123/24 
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
#注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
#要启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
#启动绑定
nmcli con up mybond0

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值