无公网IP通过跳板机实现访问公网的方案

本文介绍如何配置跳板机以实现客户端对特定服务器的访问。主要内容包括:跳板机上开启IP转发及iptables配置,客户端Linux及Mac系统网关与路由设置等。

跳板机:预发布:10.124.156.244

客户端:安卓打包服务器:10.124.156.247-250


配置:

跳板机:

   1.开启转发功能:

     #vi /etc/sysctl.conf

     ====================

      net.ipv4.ip_forward = 1

     ====================

     #sysctl –p

   2.iptables开启转发

   (  iptables -t nat -A POSTROUTING -s 10.124.156.0/24 -o eth0 -j MASQUERADE)

    #vim /etc/sysconfig/iptables 

    ====================

   -t nat -A POSTROUTING -s 10.124.156.0/24 -o eth0 -j MASQUERADE

   ====================

  并注释该条规则: -A FORWARD -j REJECT --reject-with icmp-host-prohibited (关闭在forward表上的数据包禁止规则)

    #service iptables restart  重启iptables服务


客户端:Linux端

   编辑网卡配置文件,将服务器的默认的网关10.124.156.1指向10.124.156.244

   #vim /etc/sysconfig/network-scripts/ifcfg-eth0 

   ===================

  DEVICE=eth0

  BOOTPROTO=static

  GATEWAY=10.124.156.244

  HWADDR=28:6E:D4:89:C2:36

  IPADDR=10.124.156.XXX

  NETMASK=255.255.255.0

  ONBOOT=yes

  TYPE=Ethernet

  USERCTL=no

  IPV6INIT=no

  PEERDNS=yes

   ==================

   #service network reload  重启网卡服务

添加静态路由:route -n add -net 10.124.0.0/16 gw 10.124.156.1  (防止内网之间数据传输中断的问题)

或者:/etc/sysconfig/static-routes   (永久生效)

any net 10.124.0.0/16 gw 10.124.156.1

重启网卡

客户端:Mac端

  系统偏好设置>>网络配置>>修改路由为代理服务器的IP地址10.124.156.244>>应用

 PS:需要手动添加一条静态路由。指向原来的网关地址,否则的话sshd远程连接有问题:

  sudo route -n add -net 10.124.156.0/24 10.124.156.1

  备注:如果iptables中需要注释的那条规则不注释的话,就会出现跨网段访问不同的问题

测试:

   ping www.baidu.com 可以ping通即为配置正常!


备注:此方案是在华为云平台测试成功。(在物理机机群中配置时,正常情况只需在客户端加一条指向跳板机的路由)










本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1693452,如需转载请自行联系原作者
### 配置IDRAC无公网IP实现外网访问 #### 使用路由器上的端口转发与NAT设置 当IDRAC设备本身未被分配公网IP地址时,可以通过位于网络边缘的路由器来进行端口转发和NAT转换。具体来说,在物理位置上更靠近互联网出口处的一台具有公网IP地址的路由器上配置相应的规则。 对于静态NAT规则而言,可以在路由器管理界面中的`Configuration > NAT`选项下找到并编辑现有的条目[^1]。通过这种方式指定内部私有网络内的特定主(即运行着iDRAC服务的目标器),将其某个TCP端口号映射到外部可访问的一个固定公共IP地址及其对应的开放端口之上。 #### 利用现有防火墙设施实施策略路由 考虑到某些场景可能不允许直接更改边界路由器配置,则可以考虑利用所在数据中心或企业内部已有的高级别网络安全防护装置——比如下一代防火墙(NGFW),它们通常具备更加灵活丰富的流量处理能力。借助这些工具创建自定义的安全策略,允许来自外界针对某几个选定协议的数据包穿透进入内网直至达到目标服务器,并且在此过程中完成必要的地址翻译工作。 #### 基于Linux系统的iptables命令行方式 假如上述两种途径均不可行的话,还可以尝试采用部署在DMZ区或者跳板上的Linux操作系统作为中介节点来间接达成目的。这里给出一段简单的示例脚本用于说明如何运用iptables工具链构建简易版SNAT/DNAT制: ```bash #!/bin/bash # 设置变量 EXT_IP="your_public_ip" INT_IF="eth0" # 内部接口名称 EXT_PORT=443 # 外部监听端口 INT_PORT=443 # 内部实际使用的端口,默认HTTPS也是443 TARGET_HOST="internal_host_ip" # 清理旧规则 iptables -t nat -F PREROUTING iptables -t nat -F POSTROUTING # DNAT: 将发往$EXT_IP:$EXT_PORT的数据重定向至$TARGET_HOST:$INT_PORT iptables -A PREROUTING -p tcp --dport $EXT_PORT -j DNAT --to-destination ${TARGET_HOST}:${INT_PORT} # SNAT: 修改源地址为本地地址以便回程路径正确返回给客户端 iptables -t nat -A POSTROUTING -o $INT_IF -j MASQUERADE ``` 这段脚本实现了基本的功能需求,当然生产环境中还需要进一步优化和完善,例如加入日志记录、错误检测等功能模块以增强稳定性和安全性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值