Linux服务器内外网端口转发映射

本文详细介绍了如何利用iptables在阿里云环境中配置一条规则,允许一台提供外网访问功能的服务器访问另一台仅提供数据库服务且无外网固定IP的服务器,实现跨机访问需求。

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

场境:

我们在阿里云上有2台服务器(这两台服务器是在类局域网中的服务器),其中一台运行tomcat,提供外网访问和访问外网功能,也提供了固定IP,也就是这一台服务器可以直接通过ssh访问。另外一台是数据库,没有提供外网固定IP地址,即不提供外网访问功能。但我又想通过PL/SQL可以直接访问这一台机器,维护方便一点,所以我就想通过那一台能正常外网的服务器去访问。




最终自成的/etc/sysconfig/iptables:

# Generated by iptables-save v1.4.7 on Mon Feb  1 17:45:30 2016
*filter
:INPUT ACCEPT [1996:181425]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2248:215446]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 15440 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 15441 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 15448 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22222 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22345 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8089 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 15223 -j ACCEPT
COMMIT
# Completed on Mon Feb  1 17:45:30 2016
# Generated by iptables-save v1.4.7 on Mon Feb  1 17:45:30 2016
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 112.74.206.88 -p tcp --dport 15223 -j DNAT --to-destination 10.172.40.250:1521
-A POSTROUTING -d 10.172.40.250 -p tcp --dport 1521 -j SNAT --to 10.45.167.8


COMMIT
# Completed on Mon Feb  1 17:45:30 2016

### 配置服务器端口转发端口映射的方法 #### 一、理解端口转发端口映射的概念 端口转发端口映射是网络通信中的重要技术,主要用于实现内外网之间的数据传输。两者虽然名称不同,但在实际应用中功能相似。例如,在防火墙或路由器上设置端口映射可以将外部请求重定向到内部特定设备的指定端口[^1]。 对于远程桌面连接场景,如果需要通过互联网访问局域网内的计算机,则需在路由器上配置端口映射,通常会绑定目标设备的 IP 地址以及对应的端口号(如 3389)。这样,来自外部网络的数据包会被正确路由至目标机器[^3]。 #### 二、具体配置步骤说明 以下是基于常见硬件环境下的通用指导: ##### (一)登录路由器管理界面 大多数家用/小型企业级路由器都提供 Web 界面来完成基本设置操作。一般情况下,默认地址为 `http://192.168.0.1` 或者 `http://192.168.1.1` 。输入用户名密码进入后台管理系统后寻找虚拟服务器选项或者是 NAT/QoS 设置部分[^4]。 ##### (二)创建新的端口映射条目 在此处新增一条记录,填写如下参数: - **服务端口**:即希望开放给外界访问的那个公开端口编号; - **私有IP地址**:指向哪一台具体的PC机作为最终接收方; - **协议类型**(TCP / UDP) :依据应用程序需求决定采用何种通讯模式;某些时候可能还需要同时开启两种支持。 举个例子来说,假设我们要允许别人通过 Internet 访问位于 LAN 中某台 PC 上运行的服务程序 (监听于 localhost 的 8080),则可按照下面的方式设定: | 字段名 | 示例值 | |--------------|----------------| | 外部端口 | 80 | | 内部IP | 192.168.1.100 | | 内部端口 | 8080 | | 协议 | TCP | 这意味着任何针对 WAN 接口第 80 号入口发起 HTTP 请求的操作都会自动转交给上述指定节点处理[^2]。 ##### (三)保存更改并重启生效 确认无误之后点击提交按钮存储刚才所做的调整动作,并且为了使新策略立即可用建议重新启动整个装置一次。 #### 三、注意事项及优化技巧 1. 安全防护措施不可忽视——仅暴露必要的最小化范围接口即可满足业务诉求的前提下尽量减少风险敞口面积大小; 2. 如果存在动态DNS解析服务的话也可以考虑引入进来以便简化域名管理和定位过程复杂度降低运维成本提升用户体验满意度水平等等诸多好处[^5]。 ```bash iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080 ``` 以上命令展示了如何利用 Linux 下 iptables 工具手动添加静态规则从而达成相同目的效果。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值