svn 通过127.0.01能访问 但通过公网IP不能访问,这是什么原因?

连接失败的提示如下

1、SVN的启动方法

方法一:

perl 复制代码
svnserve -d -r /mnt/svn

方法二:

perl 复制代码
svnserve -d --listen-port 3690 -r /mnt/svn

方法三:

perl 复制代码
svnserve -d -r /mnt/svn --listen-host 0.0.0.0

2、首先检查svn服务器是否启动

方法一:

perl 复制代码
netstat -tunlp | grep svn

演示如下

如上状态,说明已启动

方法二:

perl 复制代码
svnserve --version

演示如下:

方法三:

直接本地拉一个项目试下,命令如下:

perl 复制代码
svn checkout svn://127.0.0.1/51daimajz/pc ./

本地可以拉取,但换成外网的IP就不行了,这可能是防火墙的问题

3、检查防火墙状态

方法一:

perl 复制代码
sudo systemctl status firewalld

如果防火墙正在运行,输出中会显示Active: active (running);如果防火墙未运行,输出中会显示Active: inactive (dead)

方法二:

perl 复制代码
sudo firewall-cmd --state

此命令会直接返回running(运行中)或not running(未运行)。

4、启动、停止和重启防火墙

启动防火墙:

perl 复制代码
sudo systemctl start firewalld

停止防火墙:

perl 复制代码
sudo systemctl stop firewalld

重启防火墙:

perl 复制代码
sudo systemctl restart firewalld

设置防火墙开机自启:

perl 复制代码
sudo systemctl enable firewalld

禁止防火墙开机自启:

perl 复制代码
sudo systemctl disable firewalld

开放端口

perl 复制代码
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

--zone=public:指定防火墙区域为public,这是最常用的区域。

--add-port=80/tcp:表示开放TCP协议的80端口。如果是UDP端口,将/tcp替换为/udp。

--permanent:表示此配置会永久保存,下次重启防火墙后依然生效。

配置完成后,需要重新加载防火墙规则:

perl 复制代码
sudo firewall-cmd --reload

关闭端口

关闭某个端口的命令与开放端口类似,只需将--add-port替换为--remove-port

perl 复制代码
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload

查看开放的端口

使用以下命令查看当前开放的端口:

perl 复制代码
sudo firewall-cmd --zone=public --list-ports

开放服务

除了开放端口,还可以直接开放预定义的服务。例如,开放SSH服务:

perl 复制代码
sudo firewall-cmd --zone=public --add-service=ssh --permanent
sudo firewall-cmd --reload

查看当前开放的服务:

perl 复制代码
sudo firewall-cmd --zone=public --list-services
相关推荐
liuyukuan4 分钟前
如何在win11上打开 WSL2(Windows 的 Linux 子系统)?
linux·windows
橙子也要努力变强23 分钟前
Linux信号机制
linux·服务器·网络
shughui27 分钟前
FinalShell / Xshell 完整教程(下载+安装+使用,2026最新版)
linux·fiddler·xshell·xftp·finalshell·远程连接工具
程序猿编码40 分钟前
给你的网络流量穿件“隐形衣“:手把手教你用对称加密打造透明安全隧道
linux·开发语言·网络·安全·linux内核
pengyi8710151 小时前
私网IP映射公网基础原理,搭配代理IP远程访问入门
linux·服务器·网络
深圳市九鼎创展科技2 小时前
MT8883 vs RK3588 开发板全面对比:选型与场景落地指南
大数据·linux·人工智能·嵌入式硬件·ubuntu
RisunJan3 小时前
Linux命令-ngrep(方便的数据包匹配和显示工具)
linux·运维·服务器
.千余3 小时前
【Linux】基本指令3
linux·服务器·开发语言·学习
热爱Liunx的丘丘人3 小时前
Ansible-doc及常用模块
linux·运维·服务器·ansible
SPC的存折4 小时前
D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
linux·数据库·mysql·缓存