rhcsa之基础网络配置
ip命令
ip route显示路由信息
[root@dockerk8s ~]# ip route
default via 192.168.0.1 dev enp0s8
169.254.0.0/16 dev enp0s8 scope link metric 1002
192.168.0.0/24 dev enp0s8 proto kernel scope link src 192.168.0.250
ip -s link show eth0显示关于网络问题的统计信息
接受(RX)和传送(TX)的数据包、错误和丢失计数器可用于确定由拥塞、内存不足和超级权限导致的网络问题。
[root@dockerk8s ~]# ip -s link show enp0s8
2: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:34:b9:7e brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
15233563 10782 0 0 0 7
TX: bytes packets errors dropped carrier collsns
447738 6213 0 0 0 0
traceroute或tracepath命令
两个命令都可以用于追踪UDP数据包的路径;但是,许多网络阻止UDP和ICMP通信。
traceroute命令拥有可以跟踪UDP(默认)、ICMP(-I)或TCP(-T)数据包路径的选项,但默认情况下可能没有安装此命令(yum install traceroute -y)。
[root@dockerk8s ~]# tracepath www.sina.com
1?: [LOCALHOST] pmtu 1500
1: gateway 7.780ms
1: gateway 2.239ms
2: gateway 1.738ms pmtu 1480
2: 118.199.64.1 3.951ms
3: 124.205.97.42 8.958ms
4: 218.241.165.81 4.159ms
5: 10.240.28.201 4.560ms
6: 10.240.34.77 6.601ms asymm 5
...
[root@dockerk8s ~]# traceroute www.baidu.com
traceroute to www.baidu.com (182.61.200.6), 30 hops max, 60 byte packets
1 gateway (192.168.0.1) 3.358 ms 3.266 ms 3.241 ms
2 118.199.64.1 (118.199.64.1) 7.710 ms 7.713 ms 7.691 ms
3 124.205.97.42 (124.205.97.42) 7.675 ms 7.612 ms 7.527 ms
4 124.205.98.241 (124.205.98.241) 7.396 ms 11.701 ms 11.697 ms
5 14.197.243.61 (14.197.243.61) 11.674 ms 14.197.229.165 (14.197.229.165) 11.659 ms 14.197.179.73 (14.197.179.73) 11.641 ms
6 14.197.249.94 (14.197.249.94) 12.112 ms 168.160.254.222 (168.160.254.222) 10.586 ms 14.197.178.106 (14.197.178.106) 11.433 ms
7 182.61.252.218 (182.61.252.218) 11.420 ms 182.61.252.220 (182.61.252.220) 6.368 ms *
...
端口和服务故障排除
/etc/services文件中列出了标准端口的常用名称。
ss命令可用于显示套接字统计信息。ss命令旨在替换net-tools软件包中所含的较旧工具netstat。
[root@dockerk8s ~]# ss -ta
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:smtp *:*
LISTEN 0 7 *:svn *:*
LISTEN 0 128 *:ssh *:*
ESTAB 0 52 192.168.0.250:ssh 192.168.0.105:61198
LISTEN 0 100 [::1]:smtp [::]:*
LISTEN 0 128 [::]:ssh [::]:*
ss和netstat的选项
选项 | 描述 |
---|---|
-n | 显示接口和端口的编号,而不显示名称 |
-t | 显示TCP套接字 |
-u | 显示UDP套接字 |
-l | 仅显示侦听中的套接字 |
-a | 显示所有(侦听中和已建立的)套接字 |
-p | 显示使用套接字的进程 |
使用nmcli配置网络
nmcli con show 显示所有连接的列表
[root@dockerk8s ~]# nmcli con show
NAME UUID TYPE DEVICE
enp0s8 a88febf9-2d07-4950-90c3-23c7b09413d3 ethernet enp0s8
enp0s3 c312fb48-6d96-43cf-b464-e54e311eb78c ethernet --
Wired connection 1 6c9d3dfc-5819-3850-8d2f-ebec1e62a68d ethernet --
[root@dockerk8s ~]#
[root@dockerk8s ~]# nmcli con show --active
NAME UUID TYPE DEVICE
enp0s8 a88febf9-2d07-4950-90c3-23c7b09413d3 ethernet enp0s8
查看某个连接详情
[root@dockerk8s ~]# nmcli con show "enp0s8"
connection.id: enp0s8
connection.uuid: a88febf9-2d07-4950-90c3-23c7b09413d3
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp0s8
connection.autoconnect: no
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1576381500
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
...
显示设备状态和详细信息
[root@dockerk8s ~]# nmcli dev status
DEVICE TYPE STATE CONNECTION
enp0s8 ethernet connected enp0s8
lo loopback unmanaged --
[root@dockerk8s ~]#
[root@dockerk8s ~]# nmcli dev show enp0s8
GENERAL.DEVICE: enp0s8
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 08:00:27:34:B9:7E
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: enp0s8
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.168.0.250/24
IP4.GATEWAY: 192.168.0.1
IP4.ROUTE[1]: dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 0
IP4.ROUTE[2]: dst = 169.254.0.0/16, nh = 0.0.0.0, mt = 1002
IP4.ROUTE[3]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 0
IP6.ADDRESS[1]: fe80::a00:27ff:fe34:b97e/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 256
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
[root@dockerk8s ~]#
I.通过nmcli创建网络连接
- 定义一个名为“default”的新连接,他将使用DHCP通过eth0设备的以太网网连接自动连接。
[root@dockerk8s ~]# nmcli con add con-name "default" type ethernet ifname eth0
Connection 'default' (732d9f1a-4674-4895-aa6c-a1e7e42ce10c) successfully added.
[root@dockerk8s ~]#
[root@dockerk8s ~]#
[root@dockerk8s ~]# nmcli con show
NAME UUID TYPE DEVICE
enp0s8 a88febf9-2d07-4950-90c3-23c7b09413d3 ethernet enp0s8
default 732d9f1a-4674-4895-aa6c-a1e7e42ce10c ethernet --
enp0s3 c312fb48-6d96-43cf-b464-e54e311eb78c ethernet --
Wired connection 1 6c9d3dfc-5819-3850-8d2f-ebec1e62a68d ethernet --
- 新建一个名为“static”的连接 ,并且指定IP地址和网关,不要自动连接。
[root@dockerk8s ~]# nmcli con add con-name "static" ifname eth0 autoconnect no type ethernet ip4 192.168.0.251/24 gw4 192.168.0.1
Connection 'static' (48eee5df-0e38-47a5-85ad-6b25e8496700) successfully added.
- 系统将在启动时通过DHCP进行自动连接,更改为静态连接。
[root@dockerk8s ~]# nmcli con up "static"
- 改回DHCP连接
[root@dockerk8s ~]# nmcli con up "default"
注意:如果静态连接丢失,需要以管理员的身份禁用某一接口并防止自动连接,可使用nmcli dev disconnect DEVICENAME
II.通过nmcli修改网络接口
可以通过nmcli con mod 参数 修改现有的连接。参数为键/值对组合,键包含设置名称和属性名称。使用nmcli con show "<ID>"查看连接的当前值的列表。
- 关闭自动连接
[root@dockerk8s ~]# nmcli con mod 'static' connection.autoconnect no
- 指定DNS服务器
[root@dockerk8s ~]# nmcli con mod 'static' ipv4.dns 192.168.0.1
- 一些配置参数可能增加或删除了值,在参数前面添加+/-符号,添加辅助DNS服务器
[root@dockerk8s ~]# nmcli con mod 'static' +ipv4.dns 8.8.8.8
- 替换静态IP地址和网关
[root@dockerk8s ~]# nmcli con mod 'static' ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1
5.添加没有网关的辅助IP地址
nmcli con mod "static" +ipv4.addresses 10.10.10.10/16
注意:nmcli con mod将把设置保存到配置文件中,要激活更改,需要激活或重新激活该链接。
nmcli con up "static"
另外,nmcli命令也有交互编辑模式,需要启用图形界面,并使用nmcli-connection-editor.
nmcli命令摘要
命令 | 用途 |
---|---|
nmcli dev status | 列出所有设备 |
nmcli con show | 列出所有连接 |
nmcli con up "<ID>" | 激活连接 |
nmcli con down "<ID>" | 取消激活连接,如果自动重新连接为是,则该连接将重新启动 |
nmcli dev dis <DEV> | 中断接口,并且暂时禁用自动连接 |
nmcli net off | 禁用所有管理的接口 |
nmcli con add ... | 添加新连接 |
nmcli con mod "<ID>" ... | 修改连接 |
nmcli con del "<ID>" | 删除连接 |
配置主机名及域名解析
查看主机名
[root@dockerk8s ~]# hostname
docker&k8s.localdomain
修改主机名
- hostname YOURHOSTNAME只会临时修改主机名
- 可以在/etc/hostname文件中指定静态主机名(rhel7之前该文件为/etc/sysconfig/network),hostnamectl命令用于修改此文件,也可用于查询系统的完全限定主机名的状态。如果此文件不存在,则主机名在接口被分配了IP地址时由反向dns查询设定。
[root@dockerk8s ~]# hostnamectl set-hostname test #执行su -立马生效
[root@test ~]# cat /etc/hostname
test
[root@test ~]#
配置名称解析
/etc/hosts 配置本地解析
/etc/resolv.conf 配置域名解析服务器