Linux网络设置及DHCP

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: Linux网络设置及DHCP

Linux网络设置及DHCP

一、Linux网络设置基础命令

1、ifconfig

ifconfig  查看本机所有正在运行的网络设备
      设备名   //查看指定设备
      -a:查看所有网络设备(包括不再运行的网卡)
      -s:查看网络通讯情况

image.png

ifconfig 设备名 up   //打开指定设备  =ifup 设备名
ifconfig 设备名 down //关闭指定设备  =ifdown 设备名
ifconfig ens33:0 192.168.147.30/24    //创建虚拟网卡
注意:如果关闭虚拟网卡,虚拟网卡会消失,无法再次打开

2、hostname

hostname 主机名    //临时修改主机名,su命令刷新生效,重启服务器失效
永久修改主机名:
vim /etc/hostname           //修改配置文件
hostnamectl set-hostname 主机名      //命令修改,su刷新生效

3、route

[root@localhost ~]# route     //显示路由表
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.147.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33
[root@localhost ~]# route -n    //以数字形式显示路由表
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.147.2   0.0.0.0         UG    100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.147.0   0.0.0.0         255.255.255.0   U     100    0        0 ens33

添加路由的方法:

add -net 网段地址/子网掩码 gw IP地址 dev 网卡名称(ens33)

添加静态路由和默认路由:

add -net 192.168.14.0/24 gw 192.168.147.100 dev ens33
route add default gw 192.168.147.100 dev ens33

删除添加的路由:

route del 192.168.14.0/24 gw 192.168.147.100
route del default gw 192.168.147.100

永久添加路由:

[root@localhost ~]# vim /etc/sysconfig/static-routes
any net any gw 192.168.147.100          //所有流量都从100转发
any net 192.168.14.0/24 gw 192.168.147.100    //14.0网段都走21网关服务器转发
:wq!
[root@localhost ~]# systemctl restart network

4、netstat

格式:

netstat [选项]
    -a:显示主机中所有活动的网络连接信息
    -n:以数字的形式显示相关的主机地址、端口等信息
    -r:显示路由表信息
    -l:显示处于监听状态(Listen)的网络连接及端口信息
    -t:查看TCP协议相关的信息
    -u:显示UDP协议相关的信息
    -p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)

例:

[root@localhost ~]# netstat -antp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      59576/sshd          
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      64605/sshd: root@pt 
tcp        0      0 127.0.0.1:6012          0.0.0.0:*               LISTEN      60712/sshd: root@pt 
tcp        0     36 192.168.147.100:22      192.168.147.1:62318     ESTABLISHED 64605/sshd: root@pt 
tcp        0      0 192.168.147.100:22      192.168.147.1:57348     ESTABLISHED 60712/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      59576/sshd          
tcp6       0      0 ::1:6010                :::*                    LISTEN      64605/sshd: root@pt 
tcp6       0      0 ::1:6012                :::*                    LISTEN      60712/sshd: root@pt 
[root@localhost ~]# netstat -antp | grep 22
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1648/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      59576/sshd          
tcp        0     36 192.168.147.100:22      192.168.147.1:62318     ESTABLISHED 64605/sshd: root@pt 
tcp        0      0 192.168.147.100:22      192.168.147.1:57348     ESTABLISHED 60712/sshd: root@pt 
tcp6       0      0 :::22                   :::*                    LISTEN      59576/sshd          

5、ss

ss也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容

ss [选项]
    -t:tcp协议相关
    -u:udp协议相关
    -w:裸套接字
    -x:内核socket信息
    -l:处于监听状态
    -a:显示所有网络链接活动
    -n:数字格式显示
    -p:相关的程序及PID

例:

[root@localhost ~]# ss -antp | grep sshd
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=59576,fd=3))
LISTEN     0      128    127.0.0.1:6010                     *:*                   users:(("sshd",pid=64605,fd=9))
LISTEN     0      128    127.0.0.1:6012                     *:*                   users:(("sshd",pid=60712,fd=9))
ESTAB      0      36     192.168.147.100:22                 192.168.147.1:62318               users:(("sshd",pid=64605,fd=3))
ESTAB      0      0      192.168.147.100:22                 192.168.147.1:57348               users:(("sshd",pid=60712,fd=3))
LISTEN     0      128         :::22                      :::*                   users:(("sshd",pid=59576,fd=4))
LISTEN     0      128        ::1:6010                    :::*                   users:(("sshd",pid=64605,fd=8))
LISTEN     0      128        ::1:6012                    :::*                   users:(("sshd",pid=60712,fd=8))
[root@localhost ~]# ss -antp | grep 22
LISTEN     0      5      192.168.122.1:53                       *:*                   users:(("dnsmasq",pid=1648,fd=6))
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=59576,fd=3))
ESTAB      0      0      192.168.147.100:22                 192.168.147.1:62318               users:(("sshd",pid=64605,fd=3))
ESTAB      0      0      192.168.147.100:22                 192.168.147.1:57348               users:(("sshd",pid=60712,fd=3))
LISTEN     0      128         :::22                      :::*                   users:(("sshd",pid=59576,fd=4))

6、ping

ping -c 数字        //指定ping的次数
   -w 数字        //指定等待超时的次数

7、traceroute

traceroute IP地址或域名    //测试从当前主机到目的主机之间经过的节点
例:
traceroute 180.101.50.188

8、nslookup

nslookup  目标主机地址  [DNS服务器地址]
(正向解析,域名——>IP地址)

image.png

9、dig

[root@localhost ~]# dig www.baidu.com     //将域名解析为IP地址,显示更多信息
; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54451
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.     IN  A
;; ANSWER SECTION:
www.baidu.com.    406 IN  CNAME www.a.shifen.com.
www.a.shifen.com. 58  IN  A 180.101.50.242
www.a.shifen.com. 58  IN  A 180.101.50.188
;; Query time: 46 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: 四 5月 18 19:06:33 CST 2023
;; MSG SIZE  rcvd: 101

二、网络设置

1、网卡设置

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet               //类型为以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static              //IP地址获取形式,dhcp表示动态获取,static表示静态 
DEFROUTE=yes                //原本为no,修改为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                  //设备名ens33
UUID=8237b057-d2f0-4c8c-a235-d8df458162da
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.147.100            //本机IP地址
NETMASK=255.255.255.0           //子网掩码
GATEWAY=192.168.147.2           //网关
DNS1=8.8.8.8                //IP地址的DNS服务器
:wq!
[root@localhost ~]# systemctl restart network

2、DNS解析地址的配置文件

[root@localhost ~]# vim /etc/resolv.conf 
# Generated by NetworkManager
nameserver 8.8.8.8

3、主机域IP地址进行映射的配置文件

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

三、DHCP原理及配置

1、原理

DHCP(动态主机配置协议),专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

2、好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改lP地址段时,不需要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

3、分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员专门指定IP地址
  • 动态分配:使用完后释放该IP,供其它客户机使用

4、DHCP租约过程

image.png

  1. 客户端搜索服务端 discover报文—dhcp服务器 方式:广播
  2. 服务端向客户端响应
  3. 我从地址池选一个可用的ip地址,打上标记,以offer广播的形式发出去
  4. 客户端request —服务端,第一个响应的客户端发
  5. ACK确认 提供可用的IP和租期信息

5、设置DHCP服务器并分配地址

[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
[root@localhost dhcp]# vim dhcpd.conf 

image.png

[root@localhost dhcp]# systemctl restart dhcpd
[root@localhost dhcp]# systemctl stop firewalld
[root@localhost dhcp]# setenforce 0

将两台虚拟机设置为仅主机模式

image.png

image.pngimage.png


客户端配置(2号虚拟机)

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

image.png

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.147.101  netmask 255.255.255.0  broadcast 192.168.147.255  //原本地址为101
        inet6 fe80::7127:f87a:135a:9530  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:f7:07  txqueuelen 1000  (Ethernet)
        RX packets 24938  bytes 1941009 (1.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9176  bytes 1578896 (1.5 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 1  (Local Loopback)
        RX packets 56031578  bytes 61900219422 (57.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 56031578  bytes 61900219422 (57.6 GiB)
        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:53:76:9e  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
[root@localhost ~]# systemctl restart network

验证

[root@localhost ~]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.147.40  netmask 255.255.255.0  broadcast 192.168.147.255 //地址改变为40
        inet6 fe80::7127:f87a:135a:9530  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:82:f7:07  txqueuelen 1000  (Ethernet)
        RX packets 25169  bytes 1963436 (1.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9429  bytes 1613110 (1.5 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 1  (Local Loopback)
        RX packets 58798429  bytes 91769092952 (85.4 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 58798429  bytes 91769092952 (85.4 GiB)
        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:53:76:9e  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

四、给单机分配固定的 IP 地址

host hostname {                   #指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:0c:29:f7:ef:23;        #指定该主机的 MAC地址
  fixed-address 192.168.147.200;            #指定保留给该主机的 IP地址
}

image.png

image.png

目录
相关文章
|
17天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
14天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
45 2
|
2月前
|
运维 监控 网络协议
|
14天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
47 2
|
16天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
40 4
|
16天前
|
网络协议 Linux
使用nmcli命令设置IP地址并排查网络故障
nmcli 是一个功能强大的网络管理工具,通过它可以轻松配置IP地址、网关和DNS,同时也能快速排查网络故障。通过正确使用nmcli命令,可以确保网络配置的准确性和稳定性,提高系统管理的效率。希望本文提供的详细步骤和示例能够帮助您更好地掌握nmcli的使用方法,并有效解决实际工作中的网络问题。
34 2
|
18天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
26天前
|
网络协议 网络安全 数据安全/隐私保护
计算机网络概念:网关,DHCP,IP寻址,ARP欺骗,路由,DDOS等
【10月更文挑战第27天】计算机主机网关的作用类似于小区传达室的李大爷,负责将内部网络的请求转发到外部网络。当小区内的小不点想与外面的小明通话时,必须通过李大爷(网关)进行联系。网关不仅帮助内部设备与外部通信,还负责路由选择,确保数据包高效传输。此外,网关还参与路由表的维护和更新,确保网络路径的准确性。
45 2
|
28天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
72 3
|
2月前
|
Ubuntu Linux 虚拟化
Linux虚拟机网络配置
【10月更文挑战第25天】在 Linux 虚拟机中,网络配置是实现虚拟机与外部网络通信的关键步骤。本文介绍了四种常见的网络配置方式:桥接模式、NAT 模式、仅主机模式和自定义网络模式,每种模式都详细说明了其原理和配置步骤。通过这些配置,用户可以根据实际需求选择合适的网络模式,确保虚拟机能够顺利地进行网络通信。