`

通过iptables实现外网端口映射内网程序访问

阅读更多

通过iptables实现外网端口映射内网程序访问

 

目的:
内网有一台oracle数据库,每次对oracle数据库操作不得不先进入外网机,然后从外网机跳入内网机进行oracle数据库的操作,针对于一些数据库管理软件也无法直接进行连接使用,现在使用iptables解决此问题。

案例
两台服务器AB,Oracle数据库安装在服务器B中,端口1521
服务器A 外网地址:122.56.122.18 内网地址:192.168.1.110
服务器B 内网地址:192.168.1.115

要求
通过TCP协议外网映射端口51521映射到内网服务器B中1521端口中,实现端口转发功能

步骤

1. 停止iptables服务,清除已有规则

/etc/init.d/iptables stop
# 清除iptables已有规则
iptables -F  
iptables -X 
iptables -Z

 

2. 编辑/etc/sysctl.conf文件,开启iptables转发(FORWARD)功能(默认是没有开启的)

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 # 默认是0
 

3、使配置立即生效

# 或者执行命令 "echo 1 > /proc/sys/net/ipv4/ip_forward" 使其立即生效,注意这样操作服务器重启后需要重写配置
sysctl -p

4. 加入路由规则

iptables -t nat -A PREROUTING --dst 122.56.122.18 -p tcp --dport 51521 -j DNAT --to-destination 192.168.1.115:1521
iptables -t nat -A POSTROUTING --dst 192.168.1.115 -p tcp --dport 1521 -j SNAT --to-source 192.168.1.110
iptables -A FORWARD -o eth0 -d 192.168.1.115 -p tcp --dport 1521 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.115 -p tcp --sport 1521 -j ACCEPT

 

5. 路由规则写入路由表

/etc/init.d/iptables save

 

6. 启动iptables服务,配置完成

/etc/init.d/iptables start

 

举一反三:使用unix中的iptables可以实现类似于路由器的端口转发,如果需要本机端口映射本机端口的配置应该如何写,下面规则实现本机端口80端口转发到本机8080端口,本机443端口转发到本机8443端口,应该是
iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080
iptables -t nat -A PREROUTING -p tcp –dport 443 -j REDIRECT –to-port 8443

 

添加服务器端口白名单:

 iptables -A INPUT  -p tcp --sport 443 -j ACCEPT
 iptables -A OUTPUT  -p tcp --dport 443 -j ACCEPT

 

分享到:
评论

相关推荐

    通过iptables实现端口转发和内网共享上网.docx

    例如,我们可以将公网IP的80端口映射到内网IP的8080端口,从而实现互联网用户访问我们内部的web服务器。 iptables是一个功能强大且灵活的nat+防火墙工具,可以配置灵活强劲的防火墙+nat系统,並且可以实现端口转发...

    Linux 或 Windows 上实现端口映射.docx

    然后,我们在 Server4 上配置了端口映射,使得外网的 Client 可以访问内网 Server1 的资源。 端口映射是服务器环境中的一种重要技术,可以帮助服务器在不同的网络环境中进行通信。通过配置端口映射,服务器可以承担...

    iptables.docx

    利用iptables实现局域网设备上网。同时利用iptables实现外网端口映射内网服务。

    UPNP linux 端口映射工具

    端口映射是将公网IP的一个端口与私网IP的某个端口关联起来,使外网可以通过公网端口访问内网服务。例如,如果你在家里运行了一个Web服务器,该服务器在内网的某个非标准端口(如8080)上监听,通过UPNP端口映射,你...

    SANGFOR_AD_V4.2_端口映射配置指导.pdf

    深信服AD设备的端口映射功能是一项重要的网络配置技术,用于实现内外网之间的通信,尤其是对于内部网络资源对外提供服务或者外部网络访问内部网络资源时的情况。端口映射配置涉及到多个关键要素,包括入接口、源和...

    iptables高级应用实战案例

    这样可以将公网用户访问的公网IP和端口映射到内网服务器上,实现让内网服务器向公网发布服务。DNAT的设置涉及到在网关主机上配置IP地址、开启路由和SNAT设置,并编写防火墙规则,指定公网IP和端口到内网服务器IP及...

    rinetd端口映射linux

    它能够将来自特定IP地址或网络的连接请求重定向到其他主机和服务,实现端口映射功能。在Linux环境中,rinetd常用于解决网络访问限制、隐藏真实服务器地址以及提供安全的远程服务访问等场景。 rinetd的工作原理是...

    centos7查看端口是否开放.docx

    如果你的服务器是内网服务器,可以使用端口映射来实现对公网开放。例如,可以将防火墙上的8000号端口映射到内部服务器的8000号端口,那么对外开放的就是8000号端口。 查看服务器开放的端口是非常重要的,可以使用...

    第十九章:iptables高级应用1

    编写SNAT和DNAT规则,将内网IP转换为外网IP,并将特定端口映射到内网服务器。 - c.设置INPUT和FORWARD链的安全规则,允许必要的访问和数据包转发,拒绝未定义的输入和转发流量。 - d.保存并持久化iptables规则,使...

    iptables 高级使用研讨

    iptables可以通过结合其他工具(如tc)来实现对内网各主机流量的限制: 1. **安装tc工具**:`apt-get install tc` 2. **创建流量控制规则**:针对某个特定接口或主机设定最大带宽、延迟等参数。 ```bash tc qdisc...

    让Linux操作系统NAT服务器支持UpnP

    当检测到这种情况时,NAT设备会自动创建端口映射,使得内部设备可以通过NAT网关与外部网络进行通信,无需用户手动配置。这对于P2P软件尤其有用,因为它们可以自动打开必要的端口,简化了网络设置流程。 要在Linux...

    地址转换.doc

    1. **添加双网卡**:确保服务器有两个网络接口,分别连接内网和外网。 2. **配置IP地址**:设置内外网接口的IP地址,例如:eth0为内网接口,设置为192.168.202.1;eth1为外网接口,设置为219.111.10.10。 3. **...

    全方位攻略NAT及其在各种环境下的配置

    - 特殊端口配置用于实现端口级别的地址转换,例如将内网服务器192.168.2.1的8080端口映射到外网IP地址211.84.20.1的80端口。 ##### 2. 在Linux系统中的NAT配置 - **基本概念:** - Linux系统同样支持NAT功能,...

    Linux搭建局域网代理服务器.pdf

    - **DNAT**(Destination Network Address Translation)则改变数据包的目标IP地址,常用于端口映射,使外部用户可以访问内部网络的服务。 - **MASQUERADE**是NAT的一种特殊情况,动态地将内部网络的源IP地址转换...

    安全模块操作

    - 外网侧和内网侧的命令有所不同,需根据实际情况进行配置。 - 验证红外脚本是否生效对于确保配置的有效性至关重要。 #### 四、安全接入代理模块(小设备) - **模块拷机**: - 包括镜像更新、更新文件、racoon...

    nat.rar_linux nat_nat_nat 实现_数据包转发

    Linux下的网络地址转换(Network Address Translation,简称NAT)是一种在网络通信中用于重写源或目标IP地址的技术,常用于让内部网络中的设备通过单一公网IP地址访问外部网络。NAT技术不仅简化了公网IP地址的管理,...

    关于域渗透学习1

    这些工具可以将本地端口的数据转发到远程端口,也可以实现端口映射功能。netsh和ssh通道等工具的使用也对端口转发和内网穿透有着重要作用。 总的来说,域渗透涉及到的技术非常广泛,从网络环境的搭建,到信息收集、...

    iptables 高级使用研讨 v1.0.0.pdf

    **结论**: 通过专表专用和专链专用的概念,iptables 可以实现更加精确和高效的流量控制。不同的表和链分别负责不同的功能,这有助于确保网络的安全性和性能。例如,使用 `filter` 表来过滤数据包,使用 `nat` 表来...

    linux分离解析

    "Linux分离解析"指的是根据不同的网络环境(内网与外网)设置不同的DNS解析规则,确保内网用户和外网用户访问数据库时能够指向正确的服务器。这种配置方式有助于提高网络性能,增强安全性,并优化资源分配。 首先,...

    企业级web负载均衡完美架构

    这种端口映射方法是可行的,即使PHP-CGI需要的9000端口和MySQL的3306端口通过内网通信也不会影响系统运行。 对于高并发场景,如描述中的电子商务网站,Nginx+Apache集群表现出了良好的稳定性和性能。在8GB以上内存...

Global site tag (gtag.js) - Google Analytics