防火墙设置实战操作案例(小白的“升级打怪”成长之路)

在 dell precision 7920 tower CentOS 8 Stream 上安裝nvidia驱动程序、Anaconda 简单记录一下如何在实验室dell precision 7920 tower CentOS 8 Stream上安装nvidia显卡驱动。 阅读详情

目录

一、操作前准备:

1、准备4个Rocky8虚拟机

2、网络规划

防火墙要求

虚拟机配置

更改网络模式:

二、操作前连接测试

三、操作成果

1、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。

2、内部网络服务器s1通过DNAT发布服务到互联网。

3、互联网主机pc2能够访问s1区域的服务器,但是不能够进行ping和ssh连接。


一、操作前准备:

1、准备4个Rocky8虚拟机

2、网络规划

  • 内部PC1位于内网区域,地址段为: 192.168.1.0/24,pc1地址为:192.168.1.1/24,网关地址为:192.168.1.254/24

  • 服务器S1位于服务器区域,地址段为: 192.168.2.0/24,pc1地址为:192.168.2.1/24,网关地址为:192.168.2.254/24

  • PC2位于互联网区域,模拟外部互联网,地址段为:10.0.0.0/8,pc2地址为:10.0.0.1/8

  • Linux防火墙的三块网卡为别连接不同的网络区域,地址分别为 :ens33 192.168.1.254/24;ens34 10.0.0.100/8;ens35 192.168.2.254/24

防火墙要求
  • 内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。

  • 内部网络服务器s1通过DNAT发布服务到互联网。

  • 互联网主机pc2能够访问s1区域的服务器,但是不能够进行ping和ssh连接。

虚拟机配置

内部网络PC1

[root@pc1 ~]# cd /etc/sysconfig/network-scripts/
[root@pc1 network-scripts]# ls
ifcfg-ens33
[root@pc1 network-scripts]# vim ifcfg-ens33 
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.1
PREFIX=24
GATEWAY=192.168.1.254
~     
​
​
#关闭NetworkManager、firewalld和selinux,后面虚拟机配置同样操作该步骤#
[root@pc1 network-scripts]# systemctl stop NetworkManager
[root@pc1 network-scripts]# systemctl stop firewalld
[root@pc1 network-scripts]# setenforce 0
[root@pc1 network-scripts]# 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:5b:74:6c brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe5b:746c/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:3f:34:5d 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
​

服务器s1

[root@s1 ~]# cd /etc/sysconfig/network-scripts/
[root@s1 network-scripts]# ls
ifcfg-ens33
[root@s1 network-scripts]# vim ifcfg-ens33 
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.2.1
PREFIX=24
GATEWAY=192.168.2.254
~                                                                               
~                    
​
#关闭NetworkManager、firewalld和selinux#
[root@s1 network-scripts]# 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:65:02:34 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.2.1/24 brd 192.168.2.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe65:234/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:3f:34:5d 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
​

外部网络pc2

[root@pc2 ~]# cd /etc/sysconfig/network-scripts/
[root@pc2 network-scripts]# ls
ifcfg-ens33
[root@pc2 network-scripts]# vim ifcfg-ens33 
​
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=10.0.0.1
PREFIX=8
~     
​
​
#关闭NetworkManager、firewalld和selinux#
[root@pc2 network-scripts]# 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:97:34:23 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 10.0.0.1/8 brd 10.255.255.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe97:3423/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:3f:34:5d 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
​

Linux防火墙sf1

##增加两块网卡##

[root@sf1 ~]# 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:97:34:23 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.58.133/24 brd 10.255.255.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe97:3423/64 scope link 
       valid_lft forever preferred_lft forever
3: ens34: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:0c:29:97:34:2d brd ff:ff:ff:ff:ff:ff
    altname enp2s2
4: ens37: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:0c:29:97:34:37 brd ff:ff:ff:ff:ff:ff
    altname enp2s5
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:3f:34:5d 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
​
[root@sf1 ~]# cd /etc/sysconfig/network-scripts/
[root@sf1 network-scripts]# ls
ifcfg-有线连接_1  ifcfg-ens33 
[root@sf1 network-scripts]# cp ifcfg-ens33 ifcfg-en34
[root@sf1 network-scripts]# cp ifcfg-ens33 ifcfg-en37
[root@sf1 network-scripts]# ls
ifcfg-有线连接_1  ifcfg-ens33  ifcfg-ens34  ifcfg-ens37
[root@sf1 network-scripts]# vim ifcfg-ens33
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.254
PREFIX=24
​
[root@sf1 network-scripts]# vim ifcfg-ens34
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=192.168.2.254
PREFIX=24
​
​
​
​
[root@sf1 network-scripts]# vim ifcfg-ens37
​
TYPE=Ethernet
BOOTPROTO=static
NAME=ens37
DEVICE=ens37
ONBOOT=yes
IPADDR=10.0.0.100
PREFIX=8
~             
​
​
​
[root@s1 ~]# vim /etc/sysctl.conf
​
​
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward = 1
​
#关闭NetworkManager、firewalld和selinux#
[root@sf1 ~]# 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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:53:17:48 brd ff:ff:ff:ff:ff:ff
    altname enp2s1
    inet 192.168.1.254/24 brd 192.168.1.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe53:1748/64 scope link 
       valid_lft forever preferred_lft forever
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:53:17:52 brd ff:ff:ff:ff:ff:ff
    altname enp2s2
    inet 192.168.2.254/24 brd 192.168.2.255 scope global noprefixroute ens34
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe53:1752/64 scope link 
       valid_lft forever preferred_lft forever
4: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:53:17:5c brd ff:ff:ff:ff:ff:ff
    altname enp2s5
    inet 10.0.0.100/8 brd 10.255.255.255 scope global noprefixroute ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe53:175c/64 scope link 
       valid_lft forever preferred_lft forever
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:3f:34:5d 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
​
更改网络模式:

pc1:选用VMnet2

s1:选用VMnet3

pc2:选用VMnet4

sf1:分别选用VMnet2、选用VMnet3、选用VMnet4

sf1:

二、操作前连接测试

#pc1网络测试#
[root@pc1 ~]# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=63 time=0.531 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=63 time=0.683 ms
64 bytes from 192.168.2.1: icmp_seq=3 ttl=63 time=0.722 ms
64 bytes from 192.168.2.1: icmp_seq=4 ttl=63 time=1.20 ms
^C
--- 192.168.2.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3070ms
rtt min/avg/max/mdev = 0.531/0.784/1.202/0.252 ms
[root@pc1 ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
​
^C
--- 10.0.0.1 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7190ms
​
[root@pc1 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.254 ms
64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.602 ms
64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.374 ms
^C
--- 10.0.0.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2080ms
rtt min/avg/max/mdev = 0.254/0.410/0.602/0.144 ms
#ping 192.168.2.1和ping 10.0.0.100通了,但ping 10.0.0.1不通#
#s1网络测试#
[root@s1 ~]# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=0.537 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=63 time=1.78 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=63 time=0.746 ms
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2017ms
rtt min/avg/max/mdev = 0.537/1.020/1.777/0.542 ms
[root@s1 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.311 ms
64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=1.32 ms
64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.426 ms
^C
--- 10.0.0.100 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2037ms
rtt min/avg/max/mdev = 0.311/0.687/1.324/0.452 ms
[root@s1 ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2050ms
#ping 192.168.1.1和ping 10.0.0.100通了,但ping 10.0.0.1不通#
#pc2网络测试#
[root@pc2 ~]# ping 192.168.1.1
connect: 网络不可达
[root@pc2 ~]# ping 192.168.2.1
connect: 网络不可达
[root@pc2 ~]# ping 192.168.1.254
connect: 网络不可达
[root@pc2 ~]# ping 192.168.2.254
connect: 网络不可达
[root@pc2 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.278 ms
64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.280 ms
64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=0.412 ms
64 bytes from 10.0.0.100: icmp_seq=4 ttl=64 time=0.565 ms
^C
--- 10.0.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3108ms
rtt min/avg/max/mdev = 0.278/0.383/0.565/0.120 ms
#ping 192.168.1.1和ping 192.168.2.1和ping 192.168.1.254和ping 192.168.2.254不通,但ping 10.0.0.100能通#

三、操作成果

1、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。
[root@sf1 ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens37 -j SNAT --to 10.0.0.100
[root@sf1 ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
​
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
​
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.1.0/24       0.0.0.0/0            to:10.0.0.100
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
​
Chain LIBVIRT_PRT (0 references)
target     prot opt source               destination         
​
​
​
​
[root@pc1 ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=2.23 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=0.915 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=1.53 ms
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 0.915/1.559/2.229/0.537 ms
[root@pc1 ~]# curl 10.0.0.1
2025/02/04
​

[root@pc1 ~]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=0.265 ms
64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=0.530 ms
64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=0.390 ms
64 bytes from 192.168.1.254: icmp_seq=4 ttl=64 time=0.598 ms
^C
--- 192.168.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3111ms
rtt min/avg/max/mdev = 0.265/0.445/0.598/0.131 ms
​
​
​
​
[root@sf1 ~]# iptables -t filter -A INPUT -p icmp --icmp-type 8 -j DROP
[root@sf1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp --  0.0.0.0/0            0.0.0.0/0            icmptype 8
​
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
​
Chain LIBVIRT_INP (0 references)
target     prot opt source               destination         
​
​
​
​
[root@pc1 ~]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
^C
--- 192.168.1.254 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2048ms
​
[root@pc1 ~]# curl 10.0.0.1
2025/02/04
​

2、内部网络服务器s1通过DNAT发布服务到互联网。
[root@pc2 yum.repos.d]# curl 10.0.0.100
curl: (7) Failed to connect to 10.0.0.100 port 80: 拒绝连接
​
​
​
[root@sf1 ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1:80
##或者##
[root@sf1 ~]# iptables -t nat -A PREROUTING -i ens37 -d 10.0.0.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1
​
​
​
​
​
[root@pc2 yum.repos.d]# curl 10.0.0.100
2025/6/3
​

3、互联网主机pc2能够访问s1区域的服务器,但是不能够进行ping和ssh连接。

[root@pc2 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.345 ms
64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.963 ms
64 bytes from 10.0.0.100: icmp_seq=3 ttl=64 time=2.02 ms
64 bytes from 10.0.0.100: icmp_seq=4 ttl=64 time=1.17 ms
^C
--- 10.0.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3035ms
rtt min/avg/max/mdev = 0.345/1.123/2.018/0.599 ms
[root@pc2 ~]# ssh root@10.0.0.100
The authenticity of host '10.0.0.100 (10.0.0.100)' can't be established.
ECDSA key fingerprint is SHA256:kzaygOfzCdFhwGd4z5fLArfCyG/4uXhRNZ72DuBqKSA.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.0.0.100' (ECDSA) to the list of known hosts.
root@10.0.0.100's password:
Activate the web console with: systemctl enable --now cockpit.socket
​
Last login: Tue Jun  3 23:25:14 2025
[root@sf1 ~]# exit
注销
Connection to 10.0.0.100 closed.
​
​
​
[root@sf1 ~]# iptables -A INPUT -s 10.0.0.1 -p icmp --icmp-type 8 -j DROP
[root@sf1 ~]# iptables -A INPUT -s 10.0.0.1 -p tcp --dport 22 -j DROP
[root@sf1 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       icmp --  10.0.0.1             0.0.0.0/0            icmptype 8
DROP       tcp  --  10.0.0.1             0.0.0.0/0            tcp dpt:22
​
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
​
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
​
​
​
​
[root@pc2 ~]# ssh root@10.0.0.100
^C
[root@pc2 ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
​
​


看到感觉有帮助的朋友劳烦动动发财的小手,给博主点个赞
​

GStreamer 源代码入门 GStreamer 是一个高度模块化的多媒体框架,其源代码结构清晰,设计精良。 阅读详情

相关推荐

Windows本地化部署Dify完整指南

本文详细介绍了在Windows系统上本地化部署Dify的完整步骤,涵盖了Docker Desktop的安装与配置、Dify源代码的获取、环境变量的设置、服务的启动与管理、以及常见问题的解决方案。文章首先指导用户如何下载和安装Docker Desktop,并配置WSL 2功能。接着,详细说明了如何获取Dify源代码,并通过Docker Compose启动服务。文章还提供了高级配置指南,包括如何配置大语言模型和更新Dify版本。最后,针对Docker镜像拉取失败等常见问题,提供了详细的诊断和解决方案。通过本文,

jacky_zhuyuanlu的博客 1万+

Rocky Linux 8 安装minio

Rocky Linux 8 安装minio

qq_38899062的博客 2027

Rockchip RK3568实战:手把手教你调试I2S音频驱动(附ALSA设备树配置详解)

本文提供Rockchip RK3568平台I2S音频驱动的实战调试指南。详细解析了从硬件连接到软件配置的全过程,重点涵盖ALSA驱动框架下的设备树配置、时钟计算、DMA参数设置以及常见问题(如无声、爆音)的排查与解决方法,帮助开发者快速定位并解决音频驱动难题。

weixin_28358083的博客 496

防火墙配置【最详细的实验演示】

2.如何进入防火墙,防火墙的安全域 1.防火墙的5个安全域 2.如何自定义安全域3.接口加入安全域 ​4.防火墙配置接口ip 配置防火墙策略 1.内网到公网2.内网到服务器3.公网到服务器 4.内网到公网NAT转换 5.服务器映射

weixin_62107875的博客 2万+

Sigrity Power DC Package Multi-Resistor Compact ET Model Extraction模式提取封装基板电热阻模型

DIE(定义DIE的参数):material设置为silicon(硅),Attach material(贴片的材料,设置为Die Attach),Attach thickness(贴片的材料的厚度,厚度设置为0.001mm,点击ok。Cap为覆盖材料,Material定义材料类型,thickness定义厚度,length和width定义长宽,Adhesive Material为胶的材料,Adhesive Material为胶的厚度,本例不定义,跳过即可。

weixin_54787054的博客 438

整理 钢琴 约翰·汤普森现代钢琴(大汤)

大汤

TS的博客 3998

Ubuntu20.04,Centos7.6,Rocky8安装后的初始化

sudo -i。

2301_76433368的博客 1364

Leads、SDR、MQL、SQL、L2C术语概念,线索创建与清洗、线索分级模型、线索流转策略、线索的统计与分析

CRM中的“Leads”是什么?笔者在文中不仅较为全面地介绍了相关术语概念,还分析了线索的创建与清洗、线索的分级模型、线索流转策略以及线索的统计与分析。

盼盼学士 5958

MySQL Galera Cluster部署(小白的“升级打怪”成长之路)

MySQL Galera Cluster 是一个高可用、同步复制的数据库解决方案,基于 Galera Library 和 MySQL 数据库。它设计用于提供高可用性、负载均衡和数据一致性,特别适合需要高写入负载和多主节点支持的场景。

deeper_wind的博客 1050

GEE生物量碳储量——利用sens和MK检验方法计算1987-2022年森林地上生物量AGB和碳储量的时空变化特征

本文是将之前已经处理好的森林生物量和碳储量数据保存到GEE Assets中,然后分别将单张影像导入到代码编辑器中,构建一个时间序列集合,并且这里需要用到的是我们给影像添加指定的时间属性,这样方便进行下一步的时序分析和空间预测。首先,需要收集1987年至2022年期间森林地上生物量AGB和碳储量数据。该数据可以通过森林清查数据、卫星遥感数据等途径获取。然后,根据这些数据,可以使用sens(敏感性分析)和MK(Mann-Kendall)方法计算时空变化特征。

此星光明博客 1264

金蝶Apusic应用服务器 未授权目录遍历漏洞复现

由于金蝶Apusic应用服务器/admin/protected/selector/server_file/files、/admin/protected/selector/server_file/folders 等接口没有进行校验和过滤,直接将参数拼接到文件操作中,导致出现目录遍历漏洞,未经身份验证的远程攻击者可通过此漏洞读取系统内部系统文件路径及信息,导致信息泄露,系统处于极不安全状态。

0xSec 2169

MySQL数据库主从复制(小白的“升级打怪”成长之路)

目录概述基础环境设置网络对时防火墙与SELinux配置主从复制主服务配置从服务器配置主从复制常见问题实战案例 1、master开启二进制日志记录2、slave开启IO进程,从master中读取二进制日志并写入slave的中继日志3、slave开启SQL进程,从中继日志中读取二进制日志并进行重放4、最终,达到slave与master中数据一致的状态,我们称作为主从复制的过程。主与从主机都需要操作 [root@localhost ~]# cat /etc/chrony.conf | grep -Ev '

deeper_wind的博客 1024

YOLO26涨点改进 | 全网独家创新,注意力改进篇 | TGRS 2025 | 引入APCM自适应像素级协同机制,动态增强目标区域、抑制背景噪声,助力YOLO26做红外小目标检测有效涨点

本文提出一种基于APCM模块改进的YOLO26网络模型,通过像素级局部-全局协同建模动态增强目标特征并抑制背景噪声。APCM模块采用轻量化设计,无需复杂参数,在特征提取阶段有效提升目标区域特征表达质量,尤其适用于低对比度和复杂场景下的目标检测。实验表明,该方法能显著提高小目标检测精度和模型鲁棒性,同时保持较低计算开销。模块通过局部特征分支和全局特征分支的协同融合,实现了对红外小目标的有效增强,在NUAA-SIRST和IRSTD-1K数据集上性能优于现有方法。文章还提供了完整的代码实现和配置指南。

Ai缝合怪、助力小伙伴高效发论文 189

Linux操作系统-安全管理(小白的“升级打怪”成长之路)

是什么?SELinux(Security-Enhanced Linux)是Linux内核的强制访问控制(MAC)安全子系统,提供更细粒度的权限控制,防止进程或用户越权操作。核心思想最小权限原则:进程/用户只能访问其明确需要的资源。基于标签的访问控制:所有资源(文件、端口、进程)被赋予安全上下文(Security Context)。工作模式模式描述Enforcing强制执行策略,拒绝非法操作并记录日志。Permissive仅记录违规操作,不阻止(用于调试)。Disabled。

deeper_wind的博客 1018

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Nginx反向代理与缓存功能(小白的“升级打怪”成长之路)

正向代理代理的是客户端正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求,将获得的内容返回给客户端反向代理代理的是服务端反向代理:(reverse proxy),指的是代理外网用户的请求到内部的指定的服务器,并将数据返回给用户的一种方式 客户端不直接与后端服务器进行通信,而是与反向代理服务器进行通信,隐藏了后端服务器的 IP 地址。

deeper_wind的博客 1351

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

配置DHCP服务(小白的“升级打怪”成长之路)

安装 : bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 3/4。验证 : bind-export-libs-32:9.11.36-16.el8_10.4.x86_64 1/4。

deeper_wind的博客 935

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MySQL数据库读写分离(小白的“升级打怪”成长之路)

MaxScale是由MariaDB公司开发的一款高性能、模块化数据库代理和负载均衡工具,专门为MySQL/MariaDB数据库设计。它作为数据库集群的中间层,提供智能路由、负载均衡和故障转移功能。

deeper_wind的博客 825

Rocky9部署Zabbix7(小白的“升级打怪”成长之路)

rw-r--r--. 1 root root 9756 6月 27 15:08 zabbix-icons.woff2。-rw-r--r--. 1 root root 11716 6月 27 15:08 zabbix-icons.woff。-rw-r--r--. 1 root root 149851 6月 27 15:08 zabbix-icons.svg。-rw-r--r--. 1 root root 22072 6月 27 15:08 zabbix-icons.ttf。

deeper_wind的博客 1175

运维工程师打怪升级进阶之路 V2.0

很多读者伙伴们反应总结的很系统、很全面,无论是0基础初学者,还是有基础的入门者,或者是有经验的职场运维工程师们,都反馈此系列文章非常不错! 命名:《运维工程师打怪升级之路》 版本:V1.0版本「2019年1月20日发布」 V1.0.1版本「2019年4月26日更新」 V2.0版本「2019年5月13日发布」 内容概况: 内容由浅入深,从最基础的网络基础开始,逐渐深入系统的学习Linux系统运维知识。然后引入企业项目实战内容,从而让更多学习Linux系统运维的...

采菊东篱下,Python满乾坤! 760

DNS服务配置(小白的“升级打怪”成长之路)

目录配置DNS主架构一、配置主服务器1、安装bind服务2、关闭防火墙、SElinux3、服务主文件配置4、定义区域文件配置5、配置解析文件二、客户端配置1、把域名解析配置文件中的域名IP改为主服务器的IP2、配置反向解析配置DNS主从架构1、安装bind服务2、服务主文件配置3、定义区域文件配置4、客户端测试成果脚本编写1、DNS主服务器脚本编写2、从服务器脚本编写3、客户端脚本编写主服务器配置(IP为192.168.58.131) [root@bogon ~]# yum install -y bind

deeper_wind的博客 1069

桌面运维升级打怪涨工资之路

桌面运维(Desktop Support)是一个起点,但通过不断“打怪升级”,你可以逐步提升自己的技术能力和职业水平,从而实现薪资增长和职业发展。通过以上路径和策略,你可以从初级桌面运维逐步升级,最终实现薪资和职业的双重提升。记住,职业发展是一场马拉松,持续学习和实践是成功的关键!

qq_39741838的博客 959

从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点。 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这 4 年多的运维实践经验,从事了...

aa021064的博客 2491

zabbix服务自动发现、自动注册及配置钉钉告警(小白的“升级打怪”成长之路)

准备一台主机配置zabbix server(IP为192.168.58.170),四台测试客户端(IP分别为192.168.58.171、192.168.58.172、192.168.58.173、192.168.58.174)

deeper_wind的博客 1149
上一篇: Linux日志管理(小白的“打怪升级”成长之路)
下一篇: Linux操作系统-安全管理(小白的“升级打怪”成长之路)
deeper_wind
博客等级 码龄2年 262粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值