主机名和本地解析器

配置当前主机名

```、
hostname 显示当前主机名
hostname name(指明要修改的名字)


设置主机名

hostnamectl set-(指明修改的名字)


删除文件

/etc/hostname 恢复主机名localhost.localdomain


解析器执行正向和逆向查询
/etc/hosts
•本地主机名数据库和IP地址的映像
•对小型独立网络有用
•通常,在使用DNS前检查
•getent hosts 查看/etc/hosts 内容

# 网络配置文件

/etc/sysconfig/network-scripts/ifcfg-(网卡名称)


-   编辑完配置文件,需重启网卡
service network restart
```

```
systemctl restart network
```
两种风格:
(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1
(2) 每三行定义一条路由

BOOTPROTO=dhcp(动态)|none()|static(动态)

IPADDR#= 
NETMASK#=mask  (子网掩码)
GATEWAY#=GW  (网关)

ONBOOT=yes (是否打开网卡)

## 网络配置工具

图形工具:nm-connection-editor
字符配置tui工具:nmtui
命令行工具:nmcli

网卡别名

对虚拟主机有用
将多个IP地址绑定到一个NIC上
eth0:1 、eth0:2、eth0:3
ifconfig命令:
ifconfig eth0:0 192.168.1.100/24 up
ifconfig eth0:0 down
ip命令:
ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0

装载卸载网卡

装载网卡:modprobe e1000
卸载网卡:modprobe -r e1000

设备别名

为每个设备别名生成独立的接口配置文件
•关闭NetworkManager服务
•ifcfg-ethX:xxx
•必须使用静态联网
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
注意:service network restart 生效
参考:/usr/share/doc/initscripts-*/sysconfig.txt

netstat网络状态显示

netstat 

选项

-t tcp协议相关
-u udp协议相关
-r raw socket相关
-l 处于监听状态
-a 所有状态
-n 以数字显示ip和端口
-e 扩展格式
-p 显示相关进程及ID

常用组合
-tan -uan -tnl -unl

显示网卡接口统计数据

netstat -i 全部网卡的接口信息
netstat -iiface  指定某一网卡的统计数据

网络接口配置-bonding

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

工作模式

Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel

bonding配置文件

/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0状态:

/proc/net/bonding/bond0

Bonding配置

miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路

删除bond0
ifconfig bond0 down
rmmod bonding
详细帮助:
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt

传统命名方式

使用传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
或:修改/boot/grub2/grub.cfg
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统

nmcli命令 地址配置工具

修改ip地址属性

nmcli connection modify IFACE [+|-]setting.property value

修改完配置文件执行重启网卡生效

systemctl restart network

显示所有包括不活动连接

nmcli con show

显示所有活动连接

nmcli con show --active

显示网络连接配置

nmcli con show "System eth0“

显示设备状态

nmcli dev status

显示网络接口属性

nmcli dev show eth0

创建新连接default,IP自动通过dhcp获取

nmcli con add con-name default type Ethernet ifname eth0

删除连接

nmcli con del default

创建新连接static ,指定静态IP,不自动连接

nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.X.254

启用static连接配置
nmcli con up static
启用default连接配置
nmcli con up default
查看帮助
nmcli con add help

nmtui可视化网络配置界面

ifconfig配置网络

ifconfig启用或停用某一网卡

ifconfig 网卡名 [up|down]

更改某一网卡IP地址

ifconfig 网卡名 想要更新的ip地址/长度
例如:
把eth0的IP地址更改
ifconfig eth0 172.16.100.12/16
或
ifconfig eth0 172.16.100.12 netmask 255.255.0.0

ifconfig配置的ip立即生效,覆盖原有地址

route 路由管理命令(静态指定)

查看路由表

route-n

添加路由表

route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

举例添加主机路由:

目标:192.168.1.3 网关:172.16.0.1
route add -host(目标主机地址) 192.168.1.3 gw(网关) 172.16.0.1 dev eth0(从自己eth0网卡发出)
目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0

举例默认网关添加路由表:

route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
或
route add default gw 172.16.0.1

立即生效

route del删除路由表

route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If

举例删除某一主机的路由信息

目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3
目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0

ip配置网络属性命令(静态指定)

ip - show / manipulate routing, devices, policy routing and tunnels
ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }
ip link - network device configuration
set dev IFACE
可设置属性:
up and down:激活或禁用指定接口
ifup/ifdown
show [dev IFACE]:指定接口
[up]:仅显示处于激活状态的接口
ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用
link: 仅链接可用
host: 本机可用
[broadcast ADDRESS]:指明广播地址
ip address show - look at protocol addresses
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush - 使用格式同show
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
ip route - routing table management
添加路由:ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
ip route add 192.168.0.0/24 via 172.16.0.1
ip route add 192.168.1.13 via 172.16.0.1
添加网关:ip route add default via GW dev IFACE
ip route add default via 172.16.0.1
删除路由:ip route del TARGET
显示路由:ip route show|list
清空路由表:ip route flush [dev IFACE] [via PREFIX]
ip route flush dev eth0

ss命令网络状态查看

格式:ss [OPTION]... [FILTER]
netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。

选项

-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
FILTER : [ state TCP-STATE ] [ EXPRESSION ]
 TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接(正在通讯的链接)
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
常用组合:
-tan, -tanl, -tanlp, -uan

常见用法

ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接
ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
ss -s 列出当前socket详细信息

网络配置文件

ip,mask,gw,dns相关配置文件

/etc/sysconfig/network-scripts/ifcfg-IFACE

路由相关配置文件

/etc/sysconfig/network-scripts/route-IFACE

DEVICE:此配置文件应用到的设备
HWADDR:对应的设备的MAC地址
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
ONBOOT:在系统引导时是否激活此设备no或者yes
TYPE:接口类型;常见有的Ethernet, Bridge(桥接)
UUID:设备的惟一标识
      IPADDR:指明IP地址
      NETMASK:子网掩码
      GATEWAY: 默认网关
      DNS1:第一个DNS服务器指向
      DNS2:第二个DNS服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中

两种风格

1:TARFET via GW

2:每三行定义一个路由

ADDRESS#=TARGET
NETNASK#=mask
GATEWAY#=GW

给网卡配置多个地址

ifconfig:

​ ifconfig IFACE_ALIAS

举例:

[root@node1 network-scripts]# ifconfig ens33:0 192.168.0.22/24 up
ens33添加ip并启用

ip

​ ip addr add

配置文件

ifconfig-iface_alias
 device=iface_alias

网关别名不能使用dhcp协议引导

生效重启网卡

service network restart

主机名与本地解析

配置当前主机名

hostname [HOSTNAME]
/etc/sysconfig/network
HOSTNAME=
解析器执行正向和逆向查询
/etc/hosts
•本地主机名数据库和IP地址的映像
•对小型独立网络有用
•通常,在使用DNS前检查
•getent hosts 查看/etc/hosts 内容

dns名字解析

/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
search magedu.com
/etc/nsswitch.conf
与/etc/hosts相比优先于DNS
正向解析:FQDN-->IP
dig -t A FQDN
host -t A FQDN
反向解析:IP-->FQDN
dig -x IP
host -t PTR IP

网卡别名

对虚拟主机有用
将多个IP地址绑定到一个NIC上
eth0:1 、eth0:2、eth0:3
ifconfig命令:
ifconfig eth0:0 192.168.1.100/24 up
ifconfig eth0:0 down
ip命令:
ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0

bonding网络接口配置

定义:

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址

工作模式

Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
Mode 1 (active-backup)
活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文,提供容错能力
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel

bonding配置

创建bonding设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=none
BONDING_OPTS= “miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
查看bond0状态:/proc/net/bonding/bond0

miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
删除bond0
ifconfig bond0 down
rmmod bonding
详细帮助:
/usr/share/doc/kernel-doc- version/Documentation/networking/bonding.txt
https://www.kernel.org/doc/Documentation/networking/bonding.txt

网络组Network teaming

定义:

是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

创建网络组接口

nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 连接名,INAME 接口名
JSON 指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast, roundrobin,
activebackup, loadbalance, lacp

创建port接口

nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
CNAME 连接名
INAME 网络接口名
TEAM 网络组接口名
连接名若不指定,默认为team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 设备名 CNAME 网络组接口名或port接口

测试网络工具

显示主机名

hostname

配置文件:
/etc/sysconfig/network
HOSTNAME=自定义的

测试网络连通性

ping

显示路由表

ip route

跟踪路由

traceroute
tracepath
mtr

确定名称服务器使用

nslookup
host
dig

网络客户端工具

ftp,lftp:子命令:get、mget、ls、help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]... [URL]...
-q 静默模式
-c 断点续传
-P /path 保存在指定目录
-O filename 保存为指定文件名,filename 为 – 时,发送至标准输出
--limit-rate= 指定传输速率,单位K,M等
links URL
--dump
--source