1.两大网络工具集
1.1 对比图
1.2 net-tools
net-tools是一套标准的UNIX网络工具集,用于配置网络接口、设置路由表信息、管理ARP表、显示和统计各类网络信息,等等
1.2.1 ifconfig
语法: ifconfig [INTERFACE] option [up|down]
- ifconfig eth0 down
禁用网卡 - ifconfig eth0 up
激活网卡 - ifconfig eth0 10.1.1.1 netmask 255.255.255.0
设置网卡地址(临时)
1.2.2 route
查看/管理路由表
-
route -n
查看, -n 不做名称解析
-
route add default gw NEXT-HOP
设置默认路由(临时) -
route del
1.2.3 arp
arp -an
arp -s IP MAC
1.2.4 netstat
查看网络连接
- netstat -tulnp
- t
tcp
常用基于tcp服务
ssh(22)
http(80)/https(443)
mysql(3306)
telnet(23)
ftp(20,21) - u
udp
基于udp服务
dns(53)
dhcp(67,68)
tftp(69) - l
listen,查看tcp/udp正在监听的连接 - n
numeric - p
program - a
all status,tcp所有状态
- t
- netstat -ant
查看tcp所有状态连接 - netstat -rn
查看路由表
1.2.5 vconfig
管理vlan
1.2.6 iwconfig
管理无线网卡
1.3 iproute2
iproute2是另一个系列的网络配置工具,它旨在取代net-tools的功能。net-tools可以通过procfs(/proc)和ioctl系统调用,访问和更改内核网络配置,iproute2则通过网络链路套接字接口与内核进行联系。/proc接口比网络链路接口来得更笨拙。抛开性能不讲,iproute2的用户界面比net-tools的用户界面要来得直观。
1.3.1 ip
- ip link
管理链路层信息
ip link show
ip link set … - ip addr
管理网络层信息
ip addr show
ip addr add
ip addr add 10.1.1.1/24 dev eth0
ip addr del - ip route
管理路由信息
ip route show
ip route add
ip route add 172.16.1.0/24 via 10.1.1.254
ip route del - ip rule
路由策略 - ip neigh
管理arp信息 - ip tunnel
ip隧道 - p maddr
- ip mroute
- ip monitor
1.3.2 ss
类似netstat
ss -tulnp
1.3.3 iw
管理无线网卡
1.3.4 tc
流控管理 traffic contrl
tc命令:https://blog.csdn.net/pansaky/article/details/88801249
tc命令详解:https://wenku.baidu.com/view/324fc91a964bcf84b9d57b01.html
2.配置网络正确步骤
2.1 IP
-
通过命令去配置(临时)
ifconfig
ip addr add -
永久生效(修改网卡配置文件)
/etc/sysconfig/network-scripts/ifcfg-xxx
DEVICE
UUID
BOOTPROTO #static,dhcp,none
IPADDR
NETMASK
GATEWAY=255.255.255.0
PREFIX=24
DNS1
DNS2
需要重启网络服务使配置生效
service network restart
/etc/init.d/network restart
systemctl restart network
2.2 NETMASK
2.3 GATEWAY
网卡配置文件修改(ifcfg-xxx)
网络全局配置文件
/etc/sysconfig/network
NETWORKING=yes 网络功能总开关
HOSTNAME=xxx 主机名
GATEWAY=xxx 配置网关
- 命令修改
route add
ip route add
2.4 DNS
/etc/resolv.conf 不需要重启,即时生效
nameserver IP1 IP2
search DOMAIN (DNS后缀)
2.5 dns后缀
search Domain
当访问主机名自动加上域
search pl.com
ping www
ping www.pl.com
2.6 主机名
-
主机名.域名
www.pl.com
ftp.pl.com -
修改主机名
1.修改配置文件/etc/sysconfig/network,需要重启生效HOSTNAME
2.不重启方法(推荐)
修改配置文件/etc/sysconfig/network
echo “HOSTNAME” > /proc/sys/kernel/hostname
2.7 /etc/hosts
- dns解析流程
1.先找本地dns解析器缓存(Windows)
ipconfig/displaydns
ipconfig/flushdns
2.hosts文件
3.DNS服务器 - 将主机名和环回地址映射写入hosts文件
- 不需要重启,即时生效
- 格式
IP HOSTNAME1 HOSTNAME2… - windows修改hosts
C:\Windows\System32\drivers\etc\hosts
3.其他网络工具
3.1 nmap
端口扫描工具
3.2 wireshark
抓包
命令行: tshark
3.3 tcpdump
抓包工具
语法: tcpdump [options] [expression]
选项
- -w FILE 保存为文件
- -c COUNT 数据包数量
- -C FILESIZE 文件大小
- -i INTERFACE 指定接口
- -v verbose详细信息
- -vv
- -vvv
[expression]
过滤协议
- tcp
- udp
- icmp
- ether
过滤端口
- port N
- src port
- dst port
过滤主机
- host
- src host x.x.x.x
- dst host x.x.x.x
逻辑运算
- 与 : && or and
- 或 : || or or
- 非 : ! or not
tcpdump -i eth1 '((tcp) and (port 80) and ((dst host 192.168.1.254) or (dst host 192.168.1.200)))'
tcpdump -i eth1 '((icmp) or ((ether dst host 00:01:02:03:04:05)))'
tcpdump -i eth1 '((tcp) and ((dst net 192.168) and (not dst host 192.168.1.200)))'
tcp[tcpflags] = tcp-syn 只抓 SYN 包
tcpdump -i eth1 ‘tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0’ 抓 SYN, ACK
4.网卡高级特性
4.1 添加物理网卡
1.关机
2.添加网卡设备,启动系统
3.查看网卡是否被内核识别(cat /etc/udev/rules.d/70-persistent-net.rules)
4.手动创建网卡配置文件(根据rules文件中的NAME决定网卡命名)
4.2 克隆虚拟机
克隆机需要配置才能正常使用网络
1.rm -rf /etc/udev/rules.d/70-persistent-net.rules
2.网卡配置文件删除HWADDR,UUID
3.重启虚拟机
4.3 网卡别名
为同一个网卡设备配置的多个不同ip地址,实现类似子接口之类的功能。
- 网卡别名命名
eth0:0 eth0:1 eth0:2 … - 配置步骤
1.创建网卡别名的配置文件
ifcfg-eth0:0
NAME=eth0:0 - 简单配置
ifconfig eth0:0 IP NETMASK
4.4 网卡绑定bonding
将多块物理网卡通过bond实现负载均衡,或高可用,通过定义bonding的算法模式来决定数据包通过bonding网卡的工作流程
4.4.1 工作模式
mode0
Round-robin policy 轮询策略,需要交换机支持
mode1
Active-backup policy 主备
mode6
适配器适应负载均衡,不需要交换机支持
4.4.2 配置步骤
1.修改各个网卡配置文件
# vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
IPADDR=10.10.10.1
NETMASK=255.255.255.0
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
2.修改modprobe相关设置,使内核加载bonding模块
1.在这里,我们直接创建一个加载bonding的专属设定文件/etc/modprobe.d/bonding.conf
# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=0 miimon=200
2.加载模块(重启系统后就不用手动再加载了)
modprobe bonding
3.确认模块是否加载成功:
lsmod | grep bonding
bonding 132508 0
截图
3.重启确认
4.查看bonding状态
cat /proc/net/bonding/bond0
截图
注意: 虚拟机添加网卡,删除网卡别名配置
1.关机
2.添加网卡设备
3.查看内核关于网卡文件
cat /etc/udev/rules.d/70-persistent-net.rules
4.创建新网卡配置文件
删除HWADDR,UUID两行,配置IP,掩码等参数