1.17. Linux系统网络属性管理

ip/netmask 主要用于确定自身所处的网络

gateway 主要用于本主机和其他网络主机通信使用

routey 主要用户建立路由条目,分为三种

  • 网络路由 目标是一个网络范围

  • 主机路由 目标是一个主机ip

  • 默认路由 目标是所有非本地网络

1.17.1. 地址管理

1.17.1.1. 查看网络设备

[root@centos-155 backup]# dmesg  |grep eth
[    1.015300] e1000 0000:02:01.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:ad:b0:f2
[    1.015305] e1000 0000:02:01.0 eth0: Intel(R) PRO/1000 Network Connection
[    1.360766] e1000 0000:02:05.0 eth1: (PCI:66MHz:32-bit) 00:0c:29:ad:b0:fc
[    1.360770] e1000 0000:02:05.0 eth1: Intel(R) PRO/1000 Network Connection
[    1.711270] e1000 0000:02:06.0 eth2: (PCI:66MHz:32-bit) 00:0c:29:ad:b0:06
[    1.711273] e1000 0000:02:06.0 eth2: Intel(R) PRO/1000 Network Connection

1.17.1.2. 使用ifconfig设置ip信息

ifconfig ifname ip/netmask up
ifconfig ifname ip/prefix up

Note

通过ifconfig命令配置的ip信息会立即生效,但是不会永久生效的。

1.17.1.3. 使用ip命令来配置网络ip地址参数

ip命令用起来还是比较麻烦的,选项也是特别的多。

ip [options] object {command}
object:
        link: 链接接口
        addr: 管理接口上的地址
        route:管理路由的

link的帮助:

set 设置device接口属性
show 显示接口状态信息

addr的帮助:

add 添加
del 删除
示例: ip addr add 172.18.200.1/16 dev eth0

show 查看所有地址信息
flush 清楚协议地址

route的帮助:

list 列出route信息
add 添加路由
    样例:  ip route add default via 172.18.0.1
           ip route add 172.18.0.0/16 via 172.18.4.4
del 删除路由
    样例: ip route del 192.168.0.0/24

1.17.1.4. 图形界面设置

在centos6下可以使用setup命令来配置ip信息,而centos7下使用更强大的工具nmtui命令。

1.17.1.5. 网络信息的主要配置说明

DEVICE          设备
BOOTPROTO       配置协议, none,static,dhcp
HWADDR          硬件地址
NM_CONTROLLED   是否受到networkManager控制,centos建议设置为no
ONBOOT          开机启动
TYPE            类型,ethernet,team,bound
UUID            设备的uuid
IPADDR          IP 信息
NETMASK         子网掩码
GATEWAY         网关
DNS1            第一个dns
DNS2            第二个dns
USERCTL         是否运行其他用户控制
PREFIX          设置掩码的,cidr格式的
PEERDNS         是否运行dhcp服务器提供的dns服务覆盖本地的dns

1.17.1.6. 配置dns

[root@centos-155 backup]# vim  /etc/resolv.conf
[root@centos-155 backup]# cat /etc/resolv.conf
# Generated by NetworkManager
search DHCP HOST
nameserver 59.108.61.61
nameserver 219.232.48.61

nameserver用于设置dns服务器。

1.17.2. 路由管理

1.17.2.1. 动态配置

# 查看路由
[root@centos-155 backup]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.46.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
# 添加主机路由
[root@centos-155 backup]# route add -host 192.168.46.200 gw 192.168.46.1
[root@centos-155 backup]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.46.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.46.200  192.168.46.1    255.255.255.255 UGH   0      0        0 ens33
# 添加网络路由
[root@centos-155 backup]# route add -net 172.18.0.0/16 gw 192.168.46.1
[root@centos-155 backup]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.18.0.0      192.168.46.1    255.255.0.0     UG    0      0        0 ens33
192.168.46.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.46.200  192.168.46.1    255.255.255.255 UGH   0      0        0 ens33

# 删除路由
[root@centos-155 backup]# route del -net 172.18.0.0/16  gw 192.168.46.1
[root@centos-155 backup]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.46.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.46.200  192.168.46.1    255.255.255.255 UGH   0      0        0 ens33

上面我们使用route配置只是理解生效的,开机就会没有的。

1.17.2.2. 静态配置

可以在/etc/syssconfig/network-scripts/route-ifname文件中添加如下记录

192.168.0.0/24 via 172.16.0.2
192.168.1.1 via 172.16.0.3

这样去添加一个网络路由和主机路由开机也是不会丢掉的。

1.17.3. 主机名修改

修改主机名方法比较多

  1. hostname

  2. echo “you_host_name” >> /proc/sys/kernel/hostname

  3. 编辑/etc/sysconfig/network和/etc/hosts

  4. hostnamectl命令的(centos7有,centos6没有此命令)

1.17.4. 网络管理常用命令

ping

监测目标主机网络是否可以到达,以及网络相关延时信息。

traceroute

监测到达目标主机之间所经过的网络设备

mtr

合并了ping和traceroute命令的诊断工具

1.17.5. 网络状态查看工具

1.17.5.1. netstat

主要选项

-r

显示路由表

-n

数字显示

-t

tcp

-u

udp

-l

监听

-a

显示所有连接

-p

显示进程相关信息

样例:

[root@centos-155 backup]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      916/sshd
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      687/rsync
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd
tcp6       0      0 :::22                   :::*                    LISTEN      916/sshd
tcp6       0      0 :::873                  :::*                    LISTEN      687/rsync
tcp6       0      0 :::3306                 :::*                    LISTEN      1132/mysqld

Note

nestat命令效率低下,推荐使用ss命令

1.17.5.2. ss

主要选项

-e

扩展信息

-m

显示使用信息

-o

状态

-n

数字显示

-t

tcp

-u

udp

-l

监听

-a

显示所有连接

-p

显示进程相关信息

样例

[root@centos-155 backup]# ss -tunl
Netid  State      Recv-Q Send-Q                                       Local Address:Port                                                      Peer Address:Port
tcp    LISTEN     0      128                                                      *:111                                                                  *:*
tcp    LISTEN     0      128                                                      *:22                                                                   *:*
tcp    LISTEN     0      5                                                        *:873                                                                  *:*
tcp    LISTEN     0      128                                                     :::111                                                                 :::*
tcp    LISTEN     0      128                                                     :::22                                                                  :::*
tcp    LISTEN     0      5                                                       :::873                                                                 :::*
tcp    LISTEN     0      80                                                      :::3306                                                                :::*