Linux网络基本命令及相关配置
目录
一.网络基本命令
1.ifconfig
2.hostname
3.route
4.netstat
5.ss( socket statistics)
6.ping
7.traceroute
8.nslookup
9.scp
10.ethtool
11.tcpdump
二.bond多网卡的绑定配置
1.创建bonding设备的配置文件
2.实现bond
3.Ubuntu bond的配置
四.DHCP的配置
一.网络基本命令
1.ifconfig
常用格式:
ifconfig 具体网卡名称 #只显示具体网卡的详细信息(无论该网卡是否使用)
ifconfig -a #表示显示所有网卡包括没有启动的网卡
ifconfig 网卡名称 [up|down] #表示开启或关闭网卡
ifconfig 网络接口 ip地址 [netmask 子网掩码] ifconfig 网络接口 ip地址[/子网掩码长度] #临时修改ip地址
ifconfig ens33:0 ip地址 #表示虚拟网卡
2.hostname
- 直接输入hostname是查看当前主机名
- 输入hostname +主机名 为临时修改主机名,需要su刷新才能生效,重启则失效
- 输入hostnamectl set-hostname +主机名 为永久修改主机名直接写入了/etc/hostname配置文件的第一行中。同样需要su刷新才能生效,但是重启不失效
3.route
查看或设置主机中路由表信息
route [-n]
-n:将路由记录中的地址信息显示为数字形式
#添加 指定网段的路由记录
route add -net 网段地址 gw 下一跳地址
#删除指定网段的路由记录
route del -net 网段地址
#向路由表中添加默认网关记录
route add default gw IP地址
#删除路由表中默认的网关记录
route del default gw IP地址
4.netstat
查看网络连接情况
常用选项:
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
常用:netstat -antp |grep 端口号 用于查看某端口是否被占用
5.ss( socket statistics)
ss 命令:也可以查看网络连接情况,主要用于获取 socket (内核态)统计信息,它可以显示和 netstat 命令类似的输出内容。
常用选项:
-t: tcp协议相关 只显示 tcp协议
-u: udp协议相关 只显示 udp
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有状态
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。
6.ping
测试网络连通性
格式:ping [选项] 目标主机
常用选项:
-c 加数字指定ping包次数
-W 表示等待时间
-t 一直ping
7.traceroute
路由追踪
格式:traceroute IP地址
8.nslookup
域名解析
格式:nslookup 域名
9.scp
远程拷贝
scp /opt/passwd lisi@192.168.91.101:/opt/passwd(将本机文件复制到对方电脑上)
命令字 本地文件地址 对方用户名@地址冒号对面地址
scp root@192.168.91.101:/opt/passwd /opt/(将对方电脑上文件复制到本机文件夹)
命令字 对方用户名@地址冒号对面地址 本地地址
10.ethtool
查看 网卡信息
ethtool -p ens33
#让ens33 网卡快速闪烁
11.tcpdump
抓包工具
tcpdump
-i 指定监听网络监听端口
-w 将捕获信息保存到文件中,且不分析核打印在屏幕上
-r 读取上面存储的文件
-n 不把ip转换成域名,直接显示ip
-nn 直接显示ip和端口号
-tttt 详细日期
-D 显示所有可用的列表
-s 指定数据包的大小
二.bond多网卡的绑定配置
1.创建bonding设备的配置文件
/etc/sysconfig/network-scripts/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 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
#fail_over_mac=1" 永远使用活着的 网卡的mac地址
/etc/sysconfig/network-scripts/ifcfg-ens33
NAME=eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
/etc/sysconfig/network-scripts/ifcfg-ens36
NAME=eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
查看bond0状态:cat /proc/net/bonding/bond0
2.实现bond
cd /etc/sysconfig/network-scripts/
vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.91.22
NETMASK=255.255.255.0
GATEWAY=192.168.91.2
DNS1=8.8.8.8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
vim ifcfg-ens36
NAME=ens36
DEVICE=ens36
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
3.Ubuntu bond的配置
进入配置文件后修改内容
# This is the network config written by 'subiquity'
network:
version: 2
ethernets:
eth0:
dhcp4: no
dhcp6: no
eth1:
dhcp4: no
dhcp6: no
bonds:
bond0:
interfaces:
- eth0
- eth1
addresses: [192.168.91.156/24]
gateway4: 192.168.91.2
nameservers:
addresses: [8.8.8.8,114.114.114.114]
parameters:
mode: active-backup
mii-monitor-interval: 100
三.Ubuntu 静态地址的配置
vim 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.91.12/24]
# gateway4: 192.168.91.2
# nameservers:
# addresses: [8.8.8.8,114.114.114.114]
eth1:
dhcp4: no
addresses: [1.1.1.1/24,2.2.2.2/24,3.3.3.3/24]
gateway4: 192.168.91.2
nameservers:
addresses:
- 8.8.8.8
- 114.114.114.114
四.DHCP的配置
先安装DHCP服务(以Ubuntu为例)
[root@ubuntu2204 ~]#apt install isc-dhcp-server -y
[root@ubuntu2204 ~]#vim /etc/dhcp/dhcpd.conf
写入相关配置文件
#设置全局配置参数
default-lease-time 21600; #默认租约为6小时,单位为秒
max-lease-time 43200; #最大租约为12小时,单位为秒
option domain-name "benet.com"; #指定默认域名
option domain-name-servers 202.106.0.20,202.106.148.1; #指定DNS服务器地址
ddns-update-style none; #禁用DNS动态更新
#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 { #声明要分配的网段地址
range 192.168.80.10 192.168.80.20; #设置地址池
option routers 192.168.80.254; #指定默认网关地址
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100192.168.1.200;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.20192.168.2.30;
option routers 192.168.2.254;
}
#host主机声明( 给单机分配固定的IP地址)
host hostname{ #指定需要分配固定IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址
fixed-address 192.168.4.100; #指定保留给该主机的IP地址