如何在 Linux 中将本地网络 IP 设置为静态的

news2024/11/27 8:42:00

文章目录

  • 对于普通的 Linux 操作系统
  • 对于 Red Hat Enterprise Linux 9

笔者的运行环境:

  • CentOS 8

  • Red Hat Enterprise Linux 9

  在 Linux 中将本地网络 IP 设置为静态的,只需要在那台 Linux 上设置即可。为了方便,这里笔者使用了 Xshell 来远程访问那台 Linux。关于如何在 Windows 主机上访问本地局域网中的 Linux 主机,可见笔者的另一篇博客:

  如何在 Windows 主机上访问本地局域网中的 Linux 主机:
https://blog.csdn.net/wangpaiblog/article/details/120052152

对于普通的 Linux 操作系统

  1. 输入以下命令查看 Linux 网络信息:

    ifconfig

    [root@192 ~]# ifconfig
    eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.105  netmask 255.255.255.0  broadcast 192.168.0.255
            inet6 fe80::a6bb:6dff:fe91:f348  prefixlen 64  scopeid 0x20<link>
            ether a4:bb:6d:91:f3:48  txqueuelen 1000  (Ethernet)
            RX packets 13323  bytes 16266935 (15.5 MiB)
            RX errors 0  dropped 5  overruns 0  frame 0
            TX packets 2803  bytes 229940 (224.5 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            device interrupt 16  memory 0xd1200000-d1220000  
    
    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 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
    
    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:65:68:9d  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
    

    可以看出,笔者的这台 Linux 的本地有线网络 eno2 的 IP 是 192.168.0.105

  2. 使用如下命令查看上述 IP 的生成方式:

    ip a

    [root@192 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether a4:bb:6d:91:f3:48 brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.105/24 brd 192.168.0.255 scope global dynamic noprefixroute eno2
           valid_lft 6688sec preferred_lft 6688sec
        inet6 fe80::a6bb:6dff:fe91:f348/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    3: wlo1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether 3e:bc:84:2c:c7:25 brd ff:ff:ff:ff:ff:ff permaddr 2c:6d:c1:6b:0e:59
    4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:65:68:9d brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
        link/ether 52:54:00:65:68:9d brd ff:ff:ff:ff:ff:ff
    

    可以看出,笔者的这台 Linux 的本地有线网络 eno2 的 IP 是动态生成的,这不符本文的要求。

    在这里插入图片描述

  3. 使用如下命令之一来查看本机网关、掩码等信息。

    route -n

    [root@192 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eno2
    192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 eno2
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    
    netstat -nr

    [root@192 ~]# netstat -nr
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
    0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eno2
    192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eno2
    192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
    
    
    ip route

    [root@192 ~]# ip route
    default via 192.168.0.1 dev eno2 proto dhcp metric 100 
    192.168.0.0/24 dev eno2 proto kernel scope link src 192.168.0.105 metric 100 
    192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 
    
    

    另外,输入以下命令也还可以查看更丰富的信息。

    nmcli device show

    (此命令的输出内容太多,这里只展示部分内容)

    [root@192 ~]# nmcli device show
    GENERAL.DEVICE:                         eno2
    GENERAL.TYPE:                           ethernet
    GENERAL.HWADDR:                         A4:BB:6D:91:F3:48
    GENERAL.MTU:                            1500
    GENERAL.STATE:                          100(已连接)
    GENERAL.CONNECTION:                     eno2
    GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/1
    WIRED-PROPERTIES.CARRIER:               开
    IP4.ADDRESS[1]:                         192.168.0.105/24
    IP4.GATEWAY:                            192.168.0.1
    IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 100
    IP4.ROUTE[2]:                           dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 100
    IP4.DNS[1]:                             192.168.1.1
    IP4.DNS[2]:                             192.168.0.1
    IP6.ADDRESS[1]:                         fe80::a6bb:6dff:fe91:f348/64
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
    
    [...其它内容省略...]
    

    可以看出,笔者的这台 Linux 的本地有线网络 eno2 的 IP 是 192.168.0.105,网关是 192.168.0.1,掩码为 255.255.255.0

  4. 进入 /etc/sysconfig/network-scripts 目录,可以看到下面有一个关于笔者的这台 Linux 的本地有线网络 eno2 的一个文件 ifcfg-eno2。进入此目录的方法有很多,不详细介绍,这里笔者使用的是 Xftp。

    在这里插入图片描述

  5. 打开此文件,可以看到如下内容。

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    NAME=eno2
    UUID=c073a18d-52af-44fc-ad1a-ec272625d869
    DEVICE=eno2
    ONBOOT=yes
    

    可以看出,上面 BOOTPROTO 的值为 dhcp。这印证了前面笔者的这台 Linux 的本地有线网络 eno2 的 IP 是动态生成的。


    【附】

    BOOTPROTO 是用于配置网络接口的引导协议(Boot Protocol)的选项之一。BOOTPROTO 指定了网络接口的配置方式,可以设置为以下几个值之一:

    • none:手动配置网络接口的IP地址等参数,不使用任何引导协议。
    • static:手动配置静态IP地址,子网掩码,网关等参数。
    • dhcp:使用动态主机配置协议(DHCP)从网络中的 DHCP 服务器获取IP地址和其他网络参数。
    • bootp:使用引导协议(BOOTP)从网络中的 BOOTP 服务器获取IP地址和其他网络参数。

    因此,BOOTPROTO的值决定了网络接口是通过手动配置还是通过 DHCPBOOTP 协议自动获取网络配置信息。


  6. 因此,需要将上面 BOOTPROTO 的值改为为 static。此外,还需要在该文件中追加如下信息。

    IPADDR=192.168.0.102
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.1
    

    各字段解释如下:

    • IPADDR (IP Address):IP。本地目前的 IP 为 192.168.0.105,这里改为 192.168.0.102 来查看修改后的效果。
    • NETMASK (Network Mask):掩码。此值的获取前面已提到过。
    • GATEWAY:默认网关的 IP。此值的获取前面已提到过。
  7. 输入以下命令重启网络。

    nmcli c reload

  8. 输入以下命令重启上面提到的本地有线网络,这会使上面的配置文件生效 。对于笔者,此网络为 eno2。因此,笔者需要输入的命令为 nmcli c up eno2

    nmcli c up 读者自己的网络名

  9. 现在,笔者的这台 Linux 的本地有线网络 eno2 的 IP 已经改变了,因为 Xshell 中显示与这台 Linux 的连接已经断开了。如果读者的 Linux 没有改变,重启自己 Linux。重启的方法有很多,如下命令即可。

    reboot

  10. 验证 IP 是否为静态,且为前面配置文件中配置的值。此方法很简单,直接把前面使用的命令重新使用一遍即可。

    [root@localhost ~]# ifconfig
    eno2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.0.102  netmask 255.255.0.0  broadcast 192.168.255.255
            inet6 fe80::a6bb:6dff:fe91:f348  prefixlen 64  scopeid 0x20<link>
            ether a4:bb:6d:91:f3:48  txqueuelen 1000  (Ethernet)
            RX packets 17485  bytes 16632074 (15.8 MiB)
            RX errors 0  dropped 5  overruns 0  frame 0
            TX packets 4518  bytes 373655 (364.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            device interrupt 16  memory 0xd1200000-d1220000  
    
    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 12  bytes 1216 (1.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 12  bytes 1216 (1.1 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:65:68:9d  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 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether a4:bb:6d:91:f3:48 brd ff:ff:ff:ff:ff:ff
        inet 192.168.0.102/16 brd 192.168.255.255 scope global noprefixroute eno2
           valid_lft forever preferred_lft forever
        inet6 fe80::a6bb:6dff:fe91:f348/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    3: wlo1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
        link/ether 3e:bc:84:2c:c7:25 brd ff:ff:ff:ff:ff:ff permaddr 2c:6d:c1:6b:0e:59
    4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:65:68:9d brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
        link/ether 52:54:00:65:68:9d brd ff:ff:ff:ff:ff:ff
    

    可以看出,笔者这台 Linux 的 IP 已经变成了 192.168.0.102,且 IP 不是动态的。

对于 Red Hat Enterprise Linux 9

  1. 首先,验证自己的操作系统是否是 Red Hat Enterprise Linux 9。可以使用如下命令之一来确定。

    cat /etc/system-release

    [root@192 ~]# cat /etc/system-release
    Red Hat Enterprise Linux release 9.2 (Plow)
    
    hostnamectl

    [root@192 ~]# hostnamectl
       Static hostname: (unset)                                 
    Transient hostname: 192.168.11.128
             Icon name: computer-vm
               Chassis: vm 🖴
            Machine ID: d4ef3f706c974e4c8bc4637954a306b5
               Boot ID: c6b16cfac5c348629a9b382e2839d157
        Virtualization: vmware
      Operating System: Red Hat Enterprise Linux 9.2 (Plow)     
           CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
                Kernel: Linux 5.14.0-284.11.1.el9_2.x86_64
          Architecture: x86-64
       Hardware Vendor: VMware, Inc.
        Hardware Model: VMware Virtual Platform
      Firmware Version: 6.00
    
  2. 对于 Red Hat Enterprise Linux 9,不能使用前面的那种在目录 /etc/sysconfig/network-scripts 的配置文件中设置的方法。因为 Red Hat Enterprise Linux 9 已经不支持这种方式了,在此目录中不会提供相应的配置文件,而只是一个 readme-ifcfg-rh.txt 的说明文件。该说明文件表示,上面的那个目录已经弃用,而改用目录 /etc/NetworkManager/system-connections/

    NetworkManager stores new network profiles in keyfile format in the
    /etc/NetworkManager/system-connections/ directory.
    
    Previously, NetworkManager stored network profiles in ifcfg format
    in this directory (/etc/sysconfig/network-scripts/). However, the ifcfg
    format is deprecated. By default, NetworkManager no longer creates
    new profiles in this format.
    
    Connection profiles in keyfile format have many benefits. For example,
    this format is INI file-based and can easily be parsed and generated.
    
    Each section in NetworkManager keyfiles corresponds to a NetworkManager
    setting name as described in the nm-settings(5) and nm-settings-keyfile(5)
    man pages. Each key-value-pair in a section is one of the properties
    listed in the settings specification of the man page.
    
    If you still use network profiles in ifcfg format, consider migrating
    them to keyfile format. To migrate all profiles at once, enter:
    
    # nmcli connection migrate
    
    This command migrates all profiles from ifcfg format to keyfile
    format and stores them in /etc/NetworkManager/system-connections/.
    
    Alternatively, to migrate only a specific profile, enter:
    
    # nmcli connection migrate <profile_name|UUID|D-Bus_path>
    
    For further details, see:
    * nm-settings-keyfile(5)
    * nmcli(1)
    

    而目录 /etc/NetworkManager/system-connections 下的文件 ens160.nmconnection 的内容如下。

    [connection]
    id=ens160
    uuid=437751db-4e0b-3dba-a812-41fa3a97cc30
    type=ethernet
    autoconnect-priority=-999
    interface-name=ens160
    timestamp=1688614972
    
    [ethernet]
    
    [ipv4]
    method=auto
    
    [ipv6]
    addr-gen-mode=eui64
    method=auto
    
    [proxy]
    

    不过,Red Hat Enterprise Linux 9 提供了另一种方式,可以直接通过系统内置的 GUI 界面来配置静态 IP。这个方法有很多,这里使用最简单的方式。但在此之前,需要先确认自己的原始网络信息。

  3. 输入以下命令查看 Linux 网络信息。如本机网络名、IP、网关、掩码等信息。

    ip a

    [root@192 ~]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:0c:29:4e:5e:1f brd ff:ff:ff:ff:ff:ff
        altname enp3s0
        inet 192.168.11.128/24 brd 192.168.11.255 scope global dynamic noprefixroute ens160
           valid_lft 1580sec preferred_lft 1580sec
        inet6 fe80::20c:29ff:fe4e:5e1f/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    
    route -n

    [root@192 ~]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.11.2    0.0.0.0         UG    100    0        0 ens160
    192.168.11.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
    

    使用如下命令查看 DNS 服务器 IP。

    cat /etc/resolv.conf

    [root@192 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 192.168.11.2
    

    可以看出,本机有线网络名为 ens160,对应的 IP 为 192.168.11.128,网关为 192.168.11.2,掩码为 255.255.255.0,DNS 为 192.168.11.2,且 IP 是动态的,这不符本文的要求。

  4. 在 Red Hat Enterprise Linux 9 桌面右上角进行与本机网络有关的设置。这里,笔者使用的是有线连接。

    在这里插入图片描述

  5. 可以看出本机有线网络的 IPv4 是自动生成的,这印证了前面笔者的这台 Linux 的本地有线网络 ens160 的 IP 是动态的。

    在这里插入图片描述

  6. 将其改为手动并按前面查询的数据填写即可。这里,笔者将 IP 由原来的 192.168.11.128 改为 192.168.11.130,来查看修改后的效果。

    在这里插入图片描述


    【踩坑提醒】

      此处需要设置 DNS 服务器地址。如果不设置,不会影响与 Linux 的远程连接,但是会导致这台 Linux 不能连互联网,从而导致无法联网安装应用。


  7. 修改之后,笔者的 Xshell 已经不能连接此 Linux 了,说明前面的修改生效了。可以输入命令作进一步验证。

    ifconfig

    [root@localhost ~]# ifconfig
    ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.11.130  netmask 255.255.255.0  broadcast 192.168.11.255
            inet6 fe80::20c:29ff:fe4e:5e1f  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:4e:5e:1f  txqueuelen 1000  (Ethernet)
            RX packets 2071  bytes 1652085 (1.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 1336  bytes 144546 (141.1 KiB)
            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 42  bytes 4942 (4.8 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 42  bytes 4942 (4.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    可以看出,前面的修改确实生效了。

  8. 现在,再去查看目录 /etc/NetworkManager/system-connections 下的文件 ens160.nmconnection,发现它的内容变成了如下这样。

    [connection]
    id=ens160
    uuid=437751db-4e0b-3dba-a812-41fa3a97cc30
    type=ethernet
    autoconnect-priority=-999
    interface-name=ens160
    timestamp=1688587093
    
    [ethernet]
    
    [ipv4]
    address1=192.168.11.130/24,192.168.11.2
    method=manual
    
    [ipv6]
    addr-gen-mode=eui64
    method=auto
    
    [proxy]
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手写操作系统--主引导扇区以及内核加载器

在CPU上电后&#xff0c;会自动将cs:ip置为f000:fff0,下图就是一个计算机刚上电的模拟&#xff1a; ffff00这里开始的代码是BIOS自检&#xff0c;检查计算机的硬件完备性&#xff0c;做完这一切后将第一个扇区的内容复制到0x7c00的位置&#xff0c;并从0x7c00位置执行代码&…

第五章 逻辑回归

第五章 逻辑回归 Logistic回归的⼀般过程 收集数据&#xff1a;采⽤任意⽅法收集数据。准备数据&#xff1a;由于需要进⾏距离计算&#xff0c;因此要求数据类型为数值型。另外&#xff0c;结构化数据格式则最佳。分析数据&#xff1a;采⽤任意⽅法对数据进⾏分析。训练算法&…

Golang每日一练(leetDay0118) 扁平化嵌套列表迭代器、整数拆分

目录 341. 扁平化嵌套列表迭代器 Flatten Nested List Iterator &#x1f31f;&#x1f31f; 343. 整数拆分 Integer Break &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/…

vscode工作区实现机制

工作区是编辑器的重要部分&#xff0c;它承载着编辑器和本地文件的连接&#xff0c;对文件增、删、改、查。下面我会介绍vscode工作区的创建。同样我们知道vscode软件打开的时候没有默认工作区&#xff0c;这里我对它进行了改造&#xff0c;软件启动时指向默认工作区。 工作区目…

提高腾讯QQ(电脑版)语音通话、视频聊天和远程协助的稳定性的方法

一、背景说明 腾讯QQ默认使用的通讯协议是UDP。但是各大运营商将UDP的优先级设置为最低&#xff0c;导致UDP数据包经常被丢弃。导致腾讯QQ在语音通话、视频聊天和远程协助的时候&#xff0c;会出现连接不上、卡顿和断线&#xff0c;非常不稳定。我们可以手动将通讯协议调整为TC…

用Python实现自动化交易:从趋势到收益

在现代金融市场中&#xff0c;自动化交易已经成为越来越流行的一种方式。相比于传统的手工交易方式&#xff0c;自动化交易更加高效、精准、快速且免除了人为因素的影响。而Python作为一种高级编程语言&#xff0c;凭借其简单易学、灵活性强的优势逐渐成为自动化交易中最受欢迎…

Ubuntu下Go语言TCP广播服务器实现

最近在学习Go语言网络编程&#xff0c;突然想到很久以前的用C语言写过的TCP广播聊天程序&#xff0c;然后就用Go尝试写了一遍&#xff0c;在此做个记录。 目录 1.广播结构 2.实现效果 3.源码 4.Go语言学习参考网站 1.广播结构 2.实现效果 服务器&#xff1a; 客户端1&…

小程序 web-view h5页面背景音乐自动播放

/*** 年度账单-登录首页*/ import React,{useEffect} from react import swiper/swiper-bundle.min.css import styles from ./styles.less import bgm from ./bgm2.mp3 // 主体 const annualAccountLoginIndex (props) > {const goAnnualAccount ()>{const {location: …

Java Web Tomcat 23.7.5

Tomcat 1, Tomcat 1.1 简介 1.1.1 什么是Web服务器 Web服务器是一个应用程序&#xff08;软件&#xff09;&#xff0c;对HTTP协议的操作进行封装&#xff0c;使得程序员不必直接对协议进行操作&#xff0c;让Web开发更加便捷。主要功能是"提供网上信息浏览服务"…

[Python系列] Python虚拟环境Virtualenv

1. 什么是Virtualenv Python virtualenv 是一个用于创建和管理虚拟环境的工具。它可以帮助开发者在不同的项目中使用不同的 Python 版本和包&#xff0c;而不会相互干扰。使用 virtualenv&#xff0c;可以轻松地创建一个独立的 Python 环境&#xff0c;在其中安装所需的包和版本…

【网络】思科网络vlan配置+单臂路由

文章目录 前言一、vlan&#xff08;虚拟局域网&#xff09;二、配置vlan配置交换机0配置交换机1&#xff08;和交换机0相同&#xff09;配置计算机&#xff1a;测试联通性 三、单臂路由配置R0配置交换机1测试配置&#xff1a; 前言 VLAN&#xff08;Virtual Local Area Networ…

力扣 491. 递增子序列

题目来源&#xff1a;https://leetcode.cn/problems/non-decreasing-subsequences/description/ 回溯三部曲&#xff08;来源代码随想录&#xff09;&#xff1a; 递归函数参数&#xff1a;求子序列&#xff0c;很明显一个元素不能重复使用&#xff0c;所以需要startIndex&…

2023年 vue使用腾讯地图搜索、关键字输入提示、地点显示

先看结果 vue 在public文件下的index.html文件中引入&#xff1a; <script src"//map.qq.com/api/js?v2.exp&key你自己的key"></script><script src"https://map.qq.com/api/gljs?v1.exp&librariesservice&key你自己的key"&…

【保姆级教程】PyCharm通过SSH远程连接ModelArts

文章目录 一、创建Notebook二、配置SSH三、配置远程Python解释器四、成果展示 一、创建Notebook 首先&#xff0c;找到云资源下面的 ModelArts&#xff0c;然后点击并进入 ModelArts控制台。 在ModelArts控制台中&#xff0c;点击开发环境下的 Notebook 。然后点击创建&#x…

记录一次Nginx日志偶现499的排查

背景 查看到nginx日志在整点整分的时候频繁出现 499&#xff0c;因为配置了存活检查和就绪检查&#xff0c;担心业务会出现大面积重建导致现网故障&#xff0c;所以对出现499的原因进行排查&#xff0c;记录下排查思路&#xff0c;方便以后查看。 业务链路&#xff1a; 负载均…

B/S版手术麻醉系统源码,基于php、mysql和vue2开发

手术麻醉系统是一套以数字形式与医院信息系统&#xff08;如HIS、EMR、LIS、PACS等&#xff09;和医疗设备等软、硬件集成并获取围手术期相关信息的计算机系统&#xff0c;其核心是对围手术期患者信息自动采集、储存、分析并呈现。该系统通过整合围手术期中病人信息、人员信息、…

Packet Tracer – 研究 NAT 操作

Packet Tracer – 研究 NAT 操作 目标 第 1 部分&#xff1a;通过内联网研究 NAT 操作 第 2 部分&#xff1a;研究互联网中的 NAT 操作 第 3 部分&#xff1a;执行进一步研究 拓扑图 场景 帧通过网络时&#xff0c;MAC 地址可能更改。 当数据包由配置了 NAT 的设备转发时&…

转录组和蛋白组如何关联分析?先从绘制九象限图开始

转录组和蛋白组如何关联分析&#xff1f;先从绘制九象限图开始 五种常用蛋白质组学定量分析方法对比 - 知乎 (zhihu.com) 九象限图在多组学关联分析中非常重要&#xff0c;例如我们可以用九象限图展示“转录组蛋白组”、“转录组翻译组”等关联分析中不同基因的差异表达情况。…

DotNet VOL.Core框架学习使用笔记(二)(持续更新)

2023-7-5 生成代码的列表界面&#xff0c;在数据行里增加一个操作列 查看按钮&#xff0c;打开编辑框&#xff0c;然后让编辑框成为一个只读的查看界面。 页面对应的js文件中增加如下 this.columns.push 函数内容。 按钮的点击事件 重点代码 this.edit(row); 这就是框架里编…

构建工具——webpack、vite

文章目录 构建工具Webpack使用步骤配置文件&#xff08;webpack.config.js&#xff09;插件&#xff08;plugin&#xff09; ViteVite 也是前端的构建工具使用命令构建配置文件&#xff1a;vite.config.js 构建工具 当我们习惯了在 node 中编写代码的方式后&#xff0c;在回到…