15. Linux系统网络属性管理
- gateway:主要用于本主机和其他网络主机通信使用
我们一般使用的局域网都是IGP,网关地址可以认为是一个默认路由。
- route:主要用户建立路由条目,分为三种
网络路由 目标是一个网络范围
主机路由 目标是一个主机ip
默认路由 目标是所有非本地网络
15.1. 地址管理
15.1.1. 查看网络设备
1[root@zzjlogin ~]# dmesg |grep eth
2e1000 0000:02:01.0: eth0: (PCI:66MHz:32-bit) 00:0c:29:b3:93:42
3e1000 0000:02:01.0: eth0: Intel(R) PRO/1000 Network Connection
4e1000 0000:02:04.0: eth1: (PCI:66MHz:32-bit) 00:0c:29:b3:93:4c
5e1000 0000:02:04.0: eth1: Intel(R) PRO/1000 Network Connection
6e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
7eth0: no IPv6 routers present
15.1.2. 查看及设置IP
查看IP地址:
1[root@zzjlogin ~]# ifconfig
2eth0 Link encap:Ethernet HWaddr 00:0C:29:B3:93:42
3 inet addr:192.168.161.132 Bcast:192.168.161.255 Mask:255.255.255.0
4 inet6 addr: fe80::20c:29ff:feb3:9342/64 Scope:Link
5 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
6 RX packets:14464 errors:0 dropped:0 overruns:0 frame:0
7 TX packets:4081 errors:0 dropped:0 overruns:0 carrier:0
8 collisions:0 txqueuelen:1000
9 RX bytes:1251606 (1.1 MiB) TX bytes:720937 (704.0 KiB)
10
11lo Link encap:Local Loopback
12 inet addr:127.0.0.1 Mask:255.0.0.0
13 inet6 addr: ::1/128 Scope:Host
14 UP LOOPBACK RUNNING MTU:65536 Metric:1
15 RX packets:24 errors:0 dropped:0 overruns:0 frame:0
16 TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
17 collisions:0 txqueuelen:0
18 RX bytes:3304 (3.2 KiB) TX bytes:3304 (3.2 KiB)
19
20[root@zzjlogin ~]# ifconfig eth0
21eth0 Link encap:Ethernet HWaddr 00:0C:29:B3:93:42
22 inet addr:192.168.161.132 Bcast:192.168.161.255 Mask:255.255.255.0
23 inet6 addr: fe80::20c:29ff:feb3:9342/64 Scope:Link
24 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
25 RX packets:14479 errors:0 dropped:0 overruns:0 frame:0
26 TX packets:4089 errors:0 dropped:0 overruns:0 carrier:0
27 collisions:0 txqueuelen:1000
28 RX bytes:1253136 (1.1 MiB) TX bytes:723049 (706.1 KiB)
临时设置IP
1ifconfig ifname ip/netmask up
2ifconfig ifname ip/prefix up
3
4ifconfig eth0 10.0.0.1/8 up
备注
通过ifconfig命令配置的ip信息会立即生效,但是不会永久生效的。网卡重启就会失效(重启网卡命令:/etc/init.d/network restart)
15.1.3. 使用ip命令来配置网络ip地址参数
ip命令用起来还是比较麻烦的,选项也是特别的多。
1ip [options] object {command}
2object:
3 link: 链接接口
4 addr: 管理接口上的地址
5 route:管理路由的
link的帮助:
set |
设置device接口属性 |
|---|---|
show |
显示接口状态信息 |
addr的帮助:
add |
添加 |
|---|---|
del |
删除 |
- 示例:
ip addr add 172.18.200.1/16 dev eth0
- show
查看所有地址信息
- flush
清楚协议地址
route的帮助:
list |
列出route信息 |
add |
添加路由 |
del |
删除路由 |
- 样例:
ip route del 192.168.0.0/24
- 样例:
ip route add default via 172.18.0.1 ip route add 172.18.0.0/16 via 172.18.4.4
15.1.4. 图形界面设置
在centos6下可以使用setup命令来配置ip信息,而centos7下使用更强大的工具nmtui命令。
15.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 |
15.1.6. 配置dns
1[root@centos-155 backup]# vim /etc/resolv.conf
2[root@centos-155 backup]# cat /etc/resolv.conf
3# Generated by NetworkManager
4search DHCP HOST
5nameserver 59.108.61.61
6nameserver 219.232.48.61
nameserver用于设置dns服务器。
15.2. 路由管理
15.2.1. 动态配置
注意
我们使用route添加的路由条目可以立即生效,但是只是本次关机之前生效,重启系统就会没有失效。
如果想永久生效一般有两中方法,一种是配置 /etc/syssconfig/network-scripts/route-ifname
或者把添加路由的命令追加到启动脚本中 /etc/rc.local
查看路由
1[root@centos-155 backup]# route -n
2Kernel IP routing table
3Destination Gateway Genmask Flags Metric Ref Use Iface
4192.168.46.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
添加主机路由
1[root@centos-155 backup]# route add -host 192.168.46.200 gw 192.168.46.1
2[root@centos-155 backup]# route -n
3Kernel IP routing table
4Destination Gateway Genmask Flags Metric Ref Use Iface
5192.168.46.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
6192.168.46.200 192.168.46.1 255.255.255.255 UGH 0 0 0 ens33
添加网络路由
1[root@centos-155 backup]# route add -net 172.18.0.0/16 gw 192.168.46.1
2[root@centos-155 backup]# route -n
3Kernel IP routing table
4Destination Gateway Genmask Flags Metric Ref Use Iface
5172.18.0.0 192.168.46.1 255.255.0.0 UG 0 0 0 ens33
6192.168.46.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
7192.168.46.200 192.168.46.1 255.255.255.255 UGH 0 0 0 ens33
删除路由
1[root@centos-155 backup]# route del -net 172.18.0.0/16 gw 192.168.46.1
2[root@centos-155 backup]# route -n
3Kernel IP routing table
4Destination Gateway Genmask Flags Metric Ref Use Iface
5192.168.46.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
6192.168.46.200 192.168.46.1 255.255.255.255 UGH 0 0 0 ens33
15.2.2. 静态配置
可以在 /etc/syssconfig/network-scripts/route-ifname 文件中添加如下记录
1192.168.0.0/24 via 172.16.0.2
2192.168.1.1 via 172.16.0.3
15.3. 主机名修改
- 修改主机名方法比较多
hostname
echo “you_host_name” >> /proc/sys/kernel/hostname
编辑/etc/sysconfig/network
hostnamectl命令的(centos7有,centos6没有此命令)
15.4. 网络管理常用命令
- ping
监测目标主机网络是否可以到达,以及网络相关延时信息。
- traceroute
监测到达目标主机之间所经过的网络设备
- mtr
合并了ping和traceroute命令的诊断工具
- dig
测试dns
15.5. 网络服务查看工具
- 常用来监控本地服务器的工具有:
netstat
ss
现在一般最好使用ss,这个工具效率比netstat高。ss的显示结果没有netstat规范。所以一般用 column -t 让输出结果规范化
15.5.1. netstat
主要选项
- -r
显示路由表
- -n
数字显示
- -t
tcp
- -u
udp
- -l
监听
- -a
显示所有连接
- -p
显示进程相关信息
样例:
1[root@centos-155 backup]# netstat -tunlp
2Active Internet connections (only servers)
3Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
4tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
5tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 916/sshd
6tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 687/rsync
7tcp6 0 0 :::111 :::* LISTEN 1/systemd
8tcp6 0 0 :::22 :::* LISTEN 916/sshd
9tcp6 0 0 :::873 :::* LISTEN 687/rsync
10tcp6 0 0 :::3306 :::* LISTEN 1132/mysqld
备注
nestat命令效率低下,推荐使用ss命令
15.5.2. ss
主要选项
- -e
扩展信息
- -m
显示使用信息
- -o
状态
- -n
数字显示
- -t
tcp
- -u
udp
- -l
监听
- -a
显示所有连接
- -p
显示进程相关信息
样例
1[root@centos-155 backup]# ss -tunl
2Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
3tcp LISTEN 0 128 *:111 *:*
4tcp LISTEN 0 128 *:22 *:*
5tcp LISTEN 0 5 *:873 *:*
6tcp LISTEN 0 128 :::111 :::*
7tcp LISTEN 0 128 :::22 :::*
8tcp LISTEN 0 5 :::873 :::*
9tcp LISTEN 0 80 :::3306 :::*