(一)网络文件配置
1、常遇到的网卡配置文件存储位置:
Centos/redhat存储位置 /etc/sysconfig/network-scripts/ifcfg-ensxx
Ubantu/kali存储位置 /etc/network/interfaces(这里就不详细说明啦)
2、网络文件配置
备份网络配置文件 :cp/etc/sysconfig/network-scripts/ifcfg-ensxx ./ifcfg-ensxx.back
编辑配置文件:vi /etc/sysconfig/network-scripts/ifcfg-ensxx
TYPE=Ethernet //网络类型
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static//IP地址获取方式
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=192.168.130.137 //IP子网地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.130.2 //网关
IPV6INIT=yes //开启
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=dfdef2c7-4f66-4636-ba14-02bcb9282a6a 设备UUID标识
DEVICE=ens33
ONBOOT=yes //决定下次开机时是否启动网卡
PREFIX=24 //识别IPV4的前缀长度
IPV6ADDR=200e:ac18::e0a/128 //IPV6地址
末行模式wp保存退出
Systemctl restartnetwork.service重启服务并测试IP地址及网关联通性
使用nmcli 工具配置IPV6地址
nmcli connectionmodify ens33 ipv6.method manual ipv6.address "200e:ac18::e0a/64"
nmcli connectiondown ens33;nmcli connection up ens33 快速生效,使用systemctl restart network亦可
Linux下多网卡bond配置
1、查看网卡信息
通过Ip address或 nmcli connection查看双网卡信息
2、备份网卡配置文件
3、使用nmcli 工具配置bond
生成bond文件这里模式使用bond0
nmcli connection add type bond ifname bond0 mode 0
将现有网卡绑定到bond
nmcli connection add type bond-slave ifname ens33 master bond0
nmcli connection add type bond-slave ifname ens37 master bond0
4、编辑网卡配置文件重启网络并验证。
若不想通过编辑配置文件配置网络可在生成bond文件时写入地址格式为:
nmcli connection add type bond ifname bond0 mode 0 ip4 192.168.130.144/24gw4 192.168.130.254
root@ShuXiaoMo ~]# cat/etc/sysconfig/network-scripts/ifcfg-bond-bond0
BONDING_OPTS=mode=balance-rr
TYPE=Bond
BONDING_MASTER=yes
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static //IP地址获取方式
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=bond-bond0
UUID=66b7ce68-313c-4c0f-a1ed-cf11ccbfdc58
DEVICE=bond0
ONBOOT=yes //决定下次开机时是否启动网卡
IPADDR=192.168.130.144 //IP子网地址
NETMASK=255.255.255.0 //子网掩码或使用前缀PREFIX=24
GATEWAY=192.168.130.254 //网关
[root@ShuXiaoMo ~]# systemctl restart network
PS:bond模式如下表所示
(二)常用的网络命令及参数
1、Ifconfig
Using:
查看当前设备网络网络接口状态:ifconfig
针对单个接口进行操作:ifconfigeth0 up/ ifconfig eth0 down
配置IPV4地址ifconfig eth0 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 up //该方式配置的地址不会写入配置文件。
2、ip
address show :查看本地网络信息
address [add|del] [IP参数] [dev 设备名] [相关参数] 配置管理网络参数
link show :查看链路参数
link set up|down 启动或关闭指定接口
link set ens33 mtu 1000 设置指定接口最大传输单元单位为(bytes)
link set etho address aa:aa:aa:aa:aa:aa 条件为dev支持更改MAC地址
route show 查看本地路由
route add|del :增加 (add) 或删除 (del) 路由;
添加路由时常用参数:
via :从那个 gateway 出去,不一定需要;
dev :由那个设备连接,跨网段是需要;
mtu:可以额外的设定 MTU 的数值;
3、ss
-l 显示本地打开的所有端口
-pl 显示每个进程具体打开的socket
-ta 显示所有的tcp socket
-ua 显示所有的udp socket
-x src XXX 找出连接X服务的进程
-o state established '( dport = :ssh or sport = :ssh )' 显示某个服务已建立的连接。
4、route
routef:强制刷新路由表会删除整个路由表去更新会造成主机不可达。
routel:打印本地路由表。
5、ping
-c 次数
-s 数据包大小
-I 指定接口
6、tcpdump
-a 将网络地址和广播地址转变成名字
-c 指定抓包的数量
-d 将匹配信息包的代码以人们能够理解的汇编格式给出
-dd 将匹配信息包的代码以c语言程序段的格式给出
-ddd 将匹配信息包的代码以十进制的形式给出
-e 在输出行打印出数据链路层的头部信息
-f 将外部的Internet地址以数字的形式打印出来
-l 使标准输出变为缓冲行形式
-n 不把网络地址转换成名字
-nnn 禁用tcpdump展示时把IP、端口等转换为域名、端口对应的知名服务名称,这样看起来更加清晰
-t 在输出的每一行不打印时间戳
-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息
-vv 输出详细的报文信息
-c 在收到指定的包的数目后,tcpdump就会停止
-F 从指定的文件中读取表达式,忽略其它的表达式
-i 指定监听的网络接口
-r 从指定的文件中读取包(这些包一般通过-w选项产生)
-w 直接将包写入文件中,并不分析和打印出来
-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议)
(三)常用的网络测试工具
Iperf 工具
yuminstall -y iperf3
-c 客户端模式
-s 服务端模式
-p 指定端口
$ iperf3-s 启动服务端
然后,我们就可以等待客户机的接入了。客户机可以使用以下命令来连上服务机:
$ iperf 3 192.168.130.144 与客户端模式连接服务端。
TCP
服务端:iperf3 -sp 12345
客户端:iperf3 -c 192.168.130.144
UDP丢包、网络抖动测试
服务端:iperf3 -sp 12345
客户端:iperf3 -c x.x.x.x -p12345 -i1 -u