linux系统端口保留

本文介绍了如何通过修改系统配置文件来预留特定端口,避免端口冲突,确保服务稳定运行。详细步骤包括编辑/etc/sysctl.config文件并设置net.ipv4.ip_local_reserved_ports参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在一般的操作系统中,4位的端口号是系统保留端口,用户程序一般使用5位的端口号作为SOCKET通信使用的监听或者连接端口。

但是,在实际应用中存在这样一种情况,就是如果当前应用程序设置了监听端口,例如10003端口,但是无法保证本机有其他程序在socket通信中使用了该端口作为客户端去和服务端通信,比如去连接数据库,以前就有一次发现本地的服务端绑定10003端口失败,使用NETSTAT查看发现该端口被另一个应用用来和ORACLE数据库进行连接了。

因此,有必要将该端口保留下来,只能手工指定该端口来进行连接,防止有socket客户端将该端口拿去使用。

端口保留的方法是修改/etc/sysctl.config文件,增加net.ipv4.ip_local_port_range参数规划出一段端口段预留作为服务的端口,配置完后要加上sysctl -p来使设置生效。

net.ipv4.ip_local_reserved_ports = 1986, 11211-11220


### 更改或关闭 Linux 系统中的 SSH 服务端口Linux 系统中,可以通过配置文件调整 SSH 服务的状态以及其监听的端口号。以下是关于如何开启或关闭 SSH 的 22 端口的具体方法。 #### 备份 SSH 配置文件 在进行任何修改之前,建议先备份 `/etc/ssh/sshd_config` 文件,以便在遇到问题时能够快速恢复到初始状态。 ```bash sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak ``` #### 修改 SSH 配置文件以启用或禁用 22 端口 编辑 SSH 配置文件 `sshd_config` 来控制 SSH 服务的行为: ```bash sudo nano /etc/ssh/sshd_config ``` 找到以下行并根据需求进行修改: - 如果希望 **仅使用其他端口而不再监听 22 端口**,可以删除或注释掉默认的 `Port 22` 行,并添加新的端口号(例如 `Port 2222`)。完成后保存退出[^1]。 - 若要完全禁用 22 端口而不影响其他自定义端口,则只需保留端口配置并将 `Port 22` 注释掉[^2]。 注意:每次修改后都需要重启 SSH 服务才能使更改生效: ```bash sudo systemctl restart sshd ``` 或者对于某些较旧版本的操作系统可能是: ```bash sudo service sshd restart ``` #### 检查 SSH 是否已设置为开机启动 确保 SSH 服务已在当前运行级别下设定了自动启动功能。通过下面这条命令查询状态: ```bash sudo chkconfig --list sshd ``` 如果没有发现对应条目表示尚未激活开机动态加载机制;此时可利用如下指令完成设定工作: ```bash sudo chkconfig --level 2345 sshd on ``` #### 调整防火墙规则支持指定端口通信 不同发行版可能采用不同的方式管理防火墙策略,在 RedHat 类似系列里可以直接停止整个防护体系运作从而开放全部连接请求; 然而 Ubuntu 用户则需更加谨慎操作因为简单粗暴地移除所有现存过滤条件可能导致意外封锁合法入站流量甚至切断自身远程操控权限等问题发生所以推荐做法应该是明确新增加允许目标主机访问特定编号的服务项目而不是单纯依赖全局放行措施实现目的比如这里我们要让外部设备能经由非标准安全壳协议传输层建立联系就必须相应补充进许可列表当中去具体步骤如下所示: 首先确认现有规则情况: ```bash sudo iptables -L ``` 接着添加一条针对所需替代号码的新规例比如说我们刚才提到过的那个例子就是把原先默认值替换成了另外一组数字形式表现出来的地址那么现在就需要告诉本地网卡接受来自该位置方向发起的一切正常握手动作序列号匹配成功之后才会继续往下走其余流程否则一律拒绝通行直到满足预设条件为止最后一步非常重要千万别忘了同步更新内核内存缓冲区缓存记录以免造成实际效果延迟显现出来影响正常使用体验哦! 假设要加入的是上面所举实例当中的备用选项即端口2222的话可以用这样的语句达成目标: ```bash sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT ``` 然后重新载入这些改动使之立即生效但要注意这样做并不会永久保持下来下次机器重启的时候又会回到原来的样子因此还需要进一步采取行动将其写死固定下来成为长期有效的一部分才行通常情况下有两种途径可以选择一种比较简单直接的办法就是在终端里面输入类似这样的一串字符组合来达到我们的预期成果: ```bash sudo sh -c "iptables-save > /etc/iptables.rules" ``` 另一种稍微复杂一点但是兼容性和稳定性相对更好一些的方式则是创建一个新的脚本文件专门用来处理这类事情每当系统引导过程中都会按照既定顺序依次调用它们进而确保各项参数始终维持在一个稳定合理的范围内不至于轻易发生变化引起不必要的麻烦困扰[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值