Linux网络的基本设置
网络的基本设置
- 查看网络接口信息
- 设置网络设备的虚拟网卡
- 对单个网络设备进行操作
- 对多个网络设备进行操作
- 查看主机的路由条目
- 查看网络连接情况(端口扫描)((查看指定端口的服务)
- netstat与ss
- netstat -antp | grep 端口号
- 列出一个应用程序在系统中打开文件的命令
- ping 测试网络的连通性 (icmp协议)
- traceroute
- DNS解析命令
- nslookup
- 多网卡设置ip
- bond网卡
- linux绑定网卡的模式
查看网络接口信息
- ip addr/ip a #简略的查看网络接口信息
- ifconfig(apt -y install net-tools) #表示只显示当前活跃的设备
- eth0 ens33 #网卡名称
root@du:/# ifconfig #显示网络设备的详细信息
ens33: flags=6211<UP,BROADCAST,RUNNING,SLAVE,MULTICAST> mtu 1500
设备名 端口 启用状态 支持广播 正在运行 支持组播 最大传输单元inet 192.168.246.7 netmask 255.255.255.0 broadcast 192.168.246.255网络设备的ip地址 网段的子网掩码 广播地址inet6 fe80::20c:29ff:fefe:acb1 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:fe:ac:b1 txqueuelen 1000 (以太网)网卡的mac地址 传输队列长度 物理网卡RX packets 133 bytes 32128 (32.1 KB)接受报文的个数 接受报文的总大小RX errors 0 dropped 0 overruns 0 frame 0接受时发生的 错误 丢弃 溢出 冲突帧数TX packets 157 bytes 21850 (21.8 KB)发送报文的个数 发送报文的总大小TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0发送时的 错误 丢弃 溢出 载荷 冲突
ifconfig -a #显示当前主机的所有网络设备(包括未运行的设备)
设置网络设备的虚拟网卡
ifconfig ens33:1 192.168.233.100/24
- 真实网卡必须要能正常工作
- :后面可以是数字也可以是字母,不要用汉字 而且字母和数字不能重复。
- 虚拟网卡的ip地址不能重复
- 虚拟网卡被停掉或者系统重启,就会消失
对单个网络设备进行操作
ifconfig 设备名 up/down
ifup 设备名
ifdown 设备名
对多个网络设备进行操作
centos:systemctl restart network #重启所用网络设备
ubuntu:netplan apply #重启网络设备
查看主机的路由条目
linux系统可以作为路由器进行使用
route -n
查看网络连接情况(端口扫描)((查看指定端口的服务)
netstat与ss
- -a:显示主机中所有活动的网络连接信息
- -n:数字化的形式显示主机地址和端口的信息
- -r:显示路由表的信息
- -t:只显示使用TCP协议的信息
- -u:只显示使用UDP协议的信息
- -p:显示网络连接信息的进程号,进程名的相关信息(需要root权限)
netstat -antp | grep 端口号
tcp 协议 0.0.0.0:80服务开放的监听地址和端口号
监听:listen等待连接
0.0.0.0:*表示谁可以连接,表示任意的ip地址 *:任意端口
ESTABLISHED:表示已经连接并且正在传输数据
timewait:不是报错,是tcp连接状态的一种。表示双方已经传输完了数据,进入等待时间,一旦有数据传输,可以恢复连接无需再三次握手建立连接(节约资源)
tcp6 ipv6
列出一个应用程序在系统中打开文件的命令
lsof list open files
- Isof 列出所有
- -p:根据进程号显示打开的文件和网络连接
- FD:文件的描述符当前这个进程的工作目录
- RTD:目录
- TXT:文件
- MEM:内存映射(工作在内存)
- lsof -i :22 #列出指定端口被哪些进程占用
- Isof -u root #指定的用户打开的网络进程和文件
ping 测试网络的连通性 (icmp协议)
- -c:ping的次数
- -i:发送包的间隔时间 也是ping的间隔
- -W:ping的超时时间
- -w:多少秒之后停止ping操作
traceroute
测试当前主机到目标主机之间经过的网络节点
DNS解析命令
nslookup
域名:www.baidu.com
dns解析------->域名转换成ip地址
域名对应ip地址
vim /etc/hosts #本地的域名和ip地址的映射
vim /etc/resolv.conf #本地DNS解析服务器的配置文件(内网环境)
多网卡设置ip
- centos:/etc/sysconfig/network-scripts(单个文件,复制修改)
- ubuntu:/etc/netplan/01-network-manager-all.yaml(一个文件里修改)
bond网卡
绑定网卡:多个网卡共用一个ip地址
实现高可用:如果其中一个网卡故障,不影响业务的使用。
linux绑定网卡的模式
- mode=0,round robin 轮询 两个网卡都会使用
- mode=1,active-backup 冗余功能 只有一个工作,另一个备用
- mode=2 load balancing 平衡策略,也能提供轮询和容错
- mode=3 广播策略,广播地址的高可用
- node=4 动态链接聚合,交换机设置
- mode=5 tansmit load balancing 适配器负载均衡,以太网设备能够获取每个网卡的速率
- mode=6 adaptive load balancing 适配器负载均衡 balançe-tld 模式,针对流量实现负载均衡。不需要交换机
BONDING OPTS="miimon=100 mode=0 fail_over_mac=1"
miimon=100单位毫秒
检测链路的间隔(100亳秒检查一次所有设备的状态,如果发现故障,开始触发故障切换)
mode=0
使用bond的轮询木事
fail_over_mac=1
表示在故障切换时,备用接口会直接获取主接口的mac地址。减少切换过程中可能出现的中断
# Ubuntu
root@du:~# cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:renderer: networkdethernets:ens33:dhcp4: noens37:dhcp4: nobonds:bond0:dhcp4: noaddresses:- 192.168.246.8/24gateway4: 192.168.246.2interfaces:- ens33- ens37parameters:mode: balance-rr
#Centos
/etc/sysconfig/network-scripts/分别vim编辑ifcfg-ens33,ifcfg-ens37,ifcfg-bond0
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=noifcfg-ens37
TYPE=Ethernet
DEVICE=ens37
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=noifcfg-bond0
TYPE=Ethernet
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.246.100
NETMASK=255.255.255.0
GATEWAY=192.168.246.2
BONDING_OPTS="miimon=100 mode=0 fail_over_mac=1"
DNS1=8.8.8.8