Linux网络配置和基础服务(查看网卡信息、修改配置网卡信息、路由表)

    技术2022-08-07  81

    本章目录

    一、查看及测试网络1.查看网络(1)ifconfig--查看网络接口信息(2)hostname--查看及修改主机名(3)route--查看路由表(4)netstat--查看网络连接情况(4)ss--查看网络连接获取socket统计信息 2.测试网络(1)ping--测试网络连通性(2)traceroute--跟踪网络包(3)nslookup--域名解析(4)dig--域名解析 二、设置网络地址参数1.ifconfig修改网卡配置2.修改网卡配置文件3.激活、禁用网卡4.设置路由记录

    实验环境为centos7.6,网卡为NAT模式

    一、查看及测试网络

    1.查看网络

    (1)ifconfig–查看网络接口信息

    ifconfig后不跟选项参数时,将显示当前主机中已启用(活动)的网络接口信息;后跟具体网络接口名称,则显示该网络接口信息。 ifconfig

    [root@smtp ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 20.0.0.41 netmask 255.255.255.0 broadcast 20.0.0.255 inet6 fe80::dd3b:df7b:a35c:96b0 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ed:09:db txqueuelen 1000 (Ethernet) RX packets 30929 bytes 13143420 (12.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10864 bytes 1798968 (1.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 80 bytes 6552 (6.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 80 bytes 6552 (6.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:e3:5c:19 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    ens33为本机真实的物理网卡,lo为回环网卡可用来测试TCP/IP协议是否正常。 ifconfig ens33

    [root@smtp ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 20.0.0.41 netmask 255.255.255.0 broadcast 20.0.0.255 inet6 fe80::dd3b:df7b:a35c:96b0 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ed:09:db txqueuelen 1000 (Ethernet) RX packets 30982 bytes 13147290 (12.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10881 bytes 1802098 (1.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    (2)hostname–查看及修改主机名

    hostname命令可用来查看当前主机名或修改主机名,使用此命令修改主机名为临时修改重启后恢复成原来的主机名。 hostname查看主机名

    [root@smtp ~]# hostname smtp

    hostname echo 临时修改主机名为

    [root@echo ~]# hostname evil [root@echo ~]# su [root@evil ~]#

    hostnamectl set-hostname 永久修改主机名

    [root@evil ~]# hostnamectl set-hostname echo [root@evil ~]# su [root@echo ~]#

    一般修改配置分为临时修改和永久修改,临时修改大部分通过命令,永久修改生效一般修改配置文件;hostnamectl特殊是通过命令使永久生效

    (3)route–查看路由表

    route命令用于查看当前主机中的路由表,可跟选项-n表示以数字显示

    [root@echo ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

    route -n 可使gateway和default变为数字形式

    [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 20.0.0.2 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

    (4)netstat–查看网络连接情况

    netstat命令可以查看网络连接状态、路由表和端口情况;可跟选项如下:

    -a:显示当前主机中所有活动的网络连接信息(包括监听,连接状态的服务端口)

    -n:以数字的形式显示相关的主机地址,端口等信息

    -p:显示与网络连接相关联的进程号,进程名称信息(‘该选项需要root权限’)

    -t:查看TCP协议相关信息

    -u:显示UDP协议相关的信息

    -r:显示路由信息

    -l:显示处于监听(listening)状态的网络连接及端口信息

    netstat -antp 查看系统中所有tcp协议端口信息,显示数字形式和PID号

    [root@echo ~]# netstat -antp Active Internet connections (servers and established) 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:6000 0.0.0.0:* LISTEN 7472/X tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 7281/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6833/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 6831/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 7209/master tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 47504/sshd: root@pt tcp 0 0 20.0.0.41:22 20.0.0.1:58128 ESTABLISHED 47504/sshd: root@pt tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::6000 :::* LISTEN 7472/X tcp6 0 0 :::80 :::* LISTEN 42229/httpd tcp6 0 0 :::22 :::* LISTEN 6833/sshd tcp6 0 0 ::1:631 :::* LISTEN 6831/cupsd tcp6 0 0 ::1:25 :::* LISTEN 7209/master tcp6 0 0 ::1:6010 :::* LISTEN 47504/sshd: root@pt

    netstat -napt |grep ssh 结合管道符搜索相关信息

    [root@echo ~]# netstat -antp |grep ssh tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6833/sshd tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 47504/sshd: root@pt tcp 0 52 20.0.0.41:22 20.0.0.1:58128 ESTABLISHED 47504/sshd: root@pt tcp6 0 0 :::22 :::* LISTEN 6833/sshd tcp6 0 0 ::1:6010 :::* LISTEN 47504/sshd: root@pt

    netstat -r 也可以查看路由信息

    [root@localhost ~]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default gateway 0.0.0.0 UG 0 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0

    (4)ss–查看网络连接获取socket统计信息

    ss命令与netstat命令都可以查看当前主机中网络连接情况,ss命令在过万的高并发连接情况下,查看网络连接更加适用。后可跟选项如下:

    -t: 查看TCP协议连接-u:查看UDP协议连接-n:服务名称显示为端口号-l:只显示监听端口信息-p:显示进行号-a:显示连接和监听状态的端口信息-r:显示服务名称 ss -antp

    2.测试网络

    (1)ping–测试网络连通性

    ping命令可用来测试网络连通性 ping

    [root@echo ~]# ping 20.0.0.2 PING 20.0.0.2 (20.0.0.2) 56(84) bytes of data. 64 bytes from 20.0.0.2: icmp_seq=1 ttl=128 time=0.883 ms 64 bytes from 20.0.0.2: icmp_seq=2 ttl=128 time=1.08 ms 64 bytes from 20.0.0.2: icmp_seq=3 ttl=128 time=0.298 ms 64 bytes from 20.0.0.2: icmp_seq=4 ttl=128 time=0.284 ms 64 bytes from 20.0.0.2: icmp_seq=5 ttl=128 time=0.460 ms ^C --- 20.0.0.2 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4003ms rtt min/avg/max/mdev = 0.284/0.601/1.081/0.323 ms

    (2)traceroute–跟踪网络包

    traceroute可以跟踪源主机到目标主机经过的网络节点

    [root@echo ~]# traceroute 112.80.248.75 traceroute to 112.80.248.75 (112.80.248.75), 30 hops max, 60 byte packets 1 gateway (20.0.0.2) 0.163 ms 0.099 ms 0.149 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * ##NAT地址转换后,没追踪到,便出现*

    (3)nslookup–域名解析

    nslookup命令可以将由域名解析出相应的ip地址

    [root@echo ~]# nslookup www.baidu.com Server: 8.8.8.8 Address: 8.8.8.8#53 ##域名解析服务器的ip Non-authoritative answer: www.baidu.com canonical name = www.a.shifen.com. ##百度的真实域名为www.a.shifen.com Name: www.a.shifen.com ##百度的ip地址 Address: 112.80.248.75 Name: www.a.shifen.com Address: 112.80.248.76

    (4)dig–域名解析

    dig命令也可用于域名解析

    [root@echo ~]# dig www.baidu.com ; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> www.baidu.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57759 ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.baidu.com. IN A ;; ANSWER SECTION: www.baidu.com. 106 IN CNAME www.a.shifen.com. www.a.shifen.com. 30 IN A 112.80.248.76 www.a.shifen.com. 30 IN A 112.80.248.75 ;; Query time: 7 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: 四 7月 02 21:51:04 CST 2020 ;; MSG SIZE rcvd: 101

    二、设置网络地址参数

    本节介绍如何修改Linux系统中各种网络地址的参数。在Linux系统中手动修改参数包括两种最基本的方法

    临时配置:通过命令行之间修改当前正在使用的网络地址,修改后立即生效。这种方式简单快速、执行效率高,一般在调试网络的过程中使用。重启失效。固定配置:通过修改配置文件来存放固定的各种网络地址,重启网络后生效。

    1.ifconfig修改网卡配置

    ifconfig可用来查看网卡信息,也可用来修改网卡信息。具体格式如下:

    ifconfig 网络接口名称 IP地址 [netmask 子网掩码]ifconfig 网络接口名称 IP地址 [/子网掩码长度]

    ifconfig ens33 20.0.0.21/24修改网卡信息

    [root@echo ~]# ifconfig ens33 20.0.0.21/24 [root@echo ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 20.0.0.21 netmask 255.255.255.0 broadcast 20.0.0.255 inet6 fe80::dd3b:df7b:a35c:96b0 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ed:09:db txqueuelen 1000 (Ethernet) RX packets 37624 bytes 13624818 (12.9 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12509 bytes 1982715 (1.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    ifconfig ens33 20.0.0.21 netmask 255.255.255.0也是可以配置的 当我们这样修改网卡后,测试网络是否可以ping通百度,出现如下问题,有三种解决方法:

    方法一:修改/etc/resolv.conf域名解析配置文件 [root@localhost ~]# vi /etc/resolv.conf #Generated by NetworkManager search localdomain nameserver 20.0.0.2 ##添加 方法二:修改/etc/hosts本地主机映射文件 此种方法不推荐用,较死板 [root@localhost ~]# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 112.80.248.76 www.baidu.com ##添加映射,nslookup解析出来的百度地址

    当我们访问外部服务时,此文件中的映射关系为首选项,因为不需要解析,速度快,但要是每个域名和IP地址都去做映射太过繁琐,不太实际。

    方法三:修改网卡配置文件 具体如下所述

    2.修改网卡配置文件

    通过修改网卡配置文件/etc/sysconfig/network-scrips/ifcfg-ens33来修改网卡信息。

    [root@echo ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static ##改为静态模式地址 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=cc8fe223-9f79-414d-a8a3-501fe6784038 DEVICE=ens33 ##网卡名称 ONBOOT=yes ##激活网卡,添加如下信息 IPADDR=20.0.0.41 ##网卡ip NETMASK=255.255.255.0 ##掩码 GATEWAY=20.0.0.2 ##网关 DNS1=20.0.0.2 ##DNS [root@echo ~]# systemctl restart network ##重启网卡 [root@echo ~]# ifconfig ens33 ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 20.0.0.41 netmask 255.255.255.0 broadcast 20.0.0.255 inet6 fe80::dd3b:df7b:a35c:96b0 prefixlen 64 scopeid 0x20<link> ether 00:0c:29:ed:09:db txqueuelen 1000 (Ethernet) RX packets 233 bytes 25455 (24.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 188 bytes 22239 (21.7 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    3.激活、禁用网卡

    禁用网卡 ifdown ens33 激活网卡 ifup ens33

    4.设置路由记录

    使用route命令可以添加、删除路由或默认路由,默认路由的目标网段是0.0.0.0形式的。

    添加路由 [root@echo ~]# route add -net 192.168.88.0/24 gw 20.0.02 [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 20.0.0.2 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.88.0 20.0.0.2 255.255.255.0 UG 0 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 删除路由 [root@echo ~]# route del -net 192.168.88.0/24 [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 20.0.0.2 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 添加默认路由 [root@echo ~]# route add default gw 20.0.0.2 [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 20.0.0.2 0.0.0.0 UG 0 0 0 ens33 0.0.0.0 20.0.0.2 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 删除默认路由 [root@echo ~]# route del default gw 20.0.0.2 [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 20.0.0.2 0.0.0.0 UG 100 0 0 ens33 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0 [root@echo ~]# route del default gw 20.0.0.2 [root@echo ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 20.0.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
    Processed: 0.016, SQL: 9