linux系统的网络设置
1、网络的基本设置
2、dhcp和ftp
3、nfs共享文件共享系统和ssh远程连接
4、dns解析
5、pxe自动装机(centos)
网络的基本设置
查看网络接口信息: ipaddr/ip a 简略的查看网络接口信息
ifconfig 表示只显示当前活跃的设备
ifconfig 名称:显示指定接口的信息
ifconfig -a 显示当前主机的所有网络设备(包括未运行的设备)
eth0或者ens33 网卡名称(ens33
在虚拟机中的作用类似于物理网卡,但它依赖于宿主机的虚拟化层和网络配置来实现数据的传输和网络的连接。)
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500端口 启用状态 支持广播 正在运行 支持组播 最大传输单元inet 192.168.213.31 netmask 255.255.255.0 broadcast 192.168.213.255网络设备的IP地址 网段的子网掩码 网段的广播地址inet6 fe80::20c:29ff:fef9:331b prefixlen 64 scopeid 0x20<link>IPv6的信息ether 00:0c:29:f9:33:1b txqueuelen 1000 (以太网)物理网卡的mac地址 传输队列长度RX packets 250048 bytes 358694899 (358.6 MB)接收报文的个数 接收报文的总的大小RX errors 0 dropped 3 overruns 0 frame 0接收时发生的错误 丢弃 溢出 冲突帧数TX packets 46729 bytes 2949392 (2.9 MB)发送报文的个数 发送报文的总大小TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0发送过程中错误 丢弃 溢出 载荷 冲突
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (本地环回)RX packets 289 bytes 29485 (29.4 KB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 289 bytes 29485 (29.4 KB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
设置网络设备的虚拟网卡
ifconfig ens33:1 192.168.213.110/24
前提:真实网卡必须正常工作 :后面可以是数字也可以是字母,不要用汉字,字母和数字不能重复,虚拟网卡的ip地址不能重复
虚拟网卡被停掉或者重启就会消失
ifconfig ens33:a down/up 可以对单个网络设备进行操作
ifup 设备名 ifdown 设备名 (网络设备单个开关)
重启所有网路设备
centos:systemctl restart network
ubuntu:netplan apply
查看主机的路由条目:
Linux系统可以作为路由器进行使用
route 展示路由条目
route -n 以数字化形式展露
*查看网络连接情况(端口扫描)(查看端口指定的服务):
netstat
ss
-a:显示主机中所有活动的网路连接信息
-n:数字化的形式显示主机地址和端口的信息
-r:心事路由表的信息
-t:只显示TCP协议的信息
-u:只显示udp协议的信息
-p:显示网络连接信息的进程号,进程名的相关信息(需要root权限)
root@test1-2:~# netstat -antp|grep 22
tcp 0 0 0.0.0.0:22(服务开放的监听地址和端口号) 0.0.0.0:* LISTEN 795/sshd: /usr/sbin
tcp 0 0 192.168.213.31:22 192.168.213.1:61400 ESTABLISHED 4271/sshd: root@pts
tcp 0 0 192.168.213.31:55550 192.168.213.11:22 ESTABLISHED 4323/ssh
tcp 0 0 192.168.213.31:22 192.168.213.1:65466 ESTABLISHED 4463/sshd: root@pts
tcp 0 52 192.168.213.31:22 192.168.213.1:52412 ESTABLISHED 19576/sshd: root@pt
tcp6 0 0 :::22 :::* LISTEN 795/sshd: /usr/sbin
root@test1-2:~# ss -antp|grep 22
LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=795,fd=3))
ESTAB 0 0 192.168.213.31:22 192.168.213.1:61400 users:(("sshd",pid=4271,fd=4))
ESTAB 0 0 192.168.213.31:55550 192.168.213.11:22 users:(("ssh",pid=4323,fd=3))
ESTAB 0 0 192.168.213.31:22 192.168.213.1:65466 users:(("sshd",pid=4463,fd=4))
ESTAB 0 52 192.168.213.31:22 192.168.213.1:52412 users:(("sshd",pid=19576,fd=4))
LISTEN 0 128 [::]:22 [::]:* users:(("sshd",pid=795,fd=4))
lsof (list open files):列出一个应用程序在系统中打开文件的命令
lsof -i:22 列出端口被哪些进程占用
lsof -u root 指定的用户打开的网络进程和文件
ping命令(检测网络连通性)
ping -c 5 www.baidu.com 次数
ping -i 发送包的间隔时间
ping -W ping的超时时间,超过就不ping了
ping -w 多少秒以后就停止
traceroute 测试数据包的路由途径
测试当前主机到目标主机之间经过的网络节点
DNS解析命令:
把域名(www.baidu.com)转化为ip地址----dns解析
nslookup:
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
www.a.shifen.com canonical name = www.wshifen.com.
Name: www.wshifen.com
Address: 103.235.46.96
Name: www.wshifen.com
Address: 103.235.47.188
/etc/hosts:本地的域名和ip地址的映射
/etc/resolv.conf 本地DNS解析服务器的配置文件(内网环境)
添加网卡:
ubuntu:
root@cwq-virtual-machine:~# vim /etc/netplan/01-network-manager-all.yaml
root@cwq-virtual-machine:~# netplan apply
centos:
[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-ens37
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-bnep ifdown-ipv6 ifdown-routes ifdown-tunnel ifup-eth ifup-isdn ifup-ppp ifup-TeamPort network-functions
ifcfg-ens37 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
[root@localhost network-scripts]# vim ifcfg-ens37
[root@localhost network-scripts]# systemctl restart network
bond网卡
-
mode=0, round robin(轮询):
- 这种模式下,网络流量会在两个网卡之间轮流分配。
- 每个网卡都会均匀地处理流量,确保没有某个网卡过度使用。
-
mode=1, active-backup(冗余功能):
- 这种模式下,只有一个网卡处于工作状态,另一个网卡作为备用。
- 如果工作网卡出现故障,备用网卡会立即接管工作,确保网络的持续可用性。
-
mode=2, load balancing(平衡策略):
- 这种模式下,使用了平衡策略,不仅可以提供轮询功能,还能提供一定的容错能力。
- 通过平衡流量分配,可以更好地利用两个网卡的带宽,提高整体网络性能。
-
mode=3, 广播策略:
- 这种模式下,主要用于提高高可用性。
- 通过广播地址,可以确保在一个网卡出现故障时,另一个网卡能够迅速接管流量,保持网络的连续性。
-
node=4, 动态链接聚合:
- 这种模式下,涉及交换机设置。
- 动态链接聚合技术可以将多个物理网卡合并成一个逻辑网卡,提高带宽和可靠性。
-
mode=5, transmit load balancing(适配器负载均衡):
- 这种模式下,以太网设备能够获取每个网卡的速率。
- 通过自适应负载均衡,可以根据每个网卡的当前状态,动态分配流量,优化网络性能。
-
mode=6, adaptive load balancing(适配器负载均衡 balance-tld 模式):
- 这种模式下,针对流量实现负载均衡。
- 不需要交换机支持,通过适配器自身的功能实现负载均衡,进一步提高了网络的灵活性和可靠性。
网卡绑定实验,以mode-0为例
centos
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33
ens33网卡配置
TYPE="Ethernet" 类型是以太网
BOOTPROTO="none" 指定网络接口的IP地址分配方式为静态
DEVICE="ens33" 设备名为ens33
ONBOOT="yes" 系统启动时是否激活网络接口
MASTER=bond0 主机名为bond0
SLAVE=yes 为从属状态
USERCTl=no 用于控制非特权用户(普通用户)是否能够控制或管理该服务
[root@localhost network-scripts]# vim ifcfg-ens37
ens37网卡配置
TYPE="Ethernet"
BOOTPROTO="none"
DEVICE="ens37"
ONBOOT="yes"
MASTER=bond0
SLAVE=yes
USERCTL=no
[root@localhost network-scripts]# vim ifcfg-bond0
bond0网卡配置
TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="bond0"
ONBOOT="yes"
IPADDR=192.168.213.7
NETMASK=255.255.255.0
GATEWAY=192.168.213.2
BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"
[root@localhost network-scripts]# modprobe bonding
[root@localhost network-scripts]# systemctl restart network
ubuntu
root@cwq-virtual-machine:~# vim /etc/netplan/01-network-manager-all.yaml
cat /proc/net/bonding/bond0
echo "options bonding mode=6" | sudo tee /etc/modprobe.d/bonding.conf
modprobe -r bonding 从内核中移除bonding模块
modprobe bonding 从内核中加载bonding模块
netplan apply
systemctl restart systemd-networkd
tips:
/lib/systemd
:存放系统级别的默认单元文件和服务配置,通常不建议用户直接修改。/etc/systemd
:存放用户级别的自定义单元文件和服务配置,用户可以自由修改这些文件。