一、环境阐述

环境介绍:现有一台搭载数据库的内网服务器,要求是不能访问外网,需要其他可以有公网IP的服务器做端口代理,以SSH方式登录此服务器做系统管理。

环境模拟为两台VM虚拟机(搭载CentOS6.8):

外网服务器:一台虚拟机配置两张网卡,一张网卡eth1为NAT模式,可以访问外网,ip地址为192.168.10.133,开机后可以直接SSH登录系统;另一张eth2为内网的vlan(VMnet2),网段设置为192.168.9.0/24,ip地址为192.168.9.101。

内网服务器:不可直接外网访问,网卡eth1设置为内网vlan(VMnet2),ip地址为192.168.9.134。

两台服务器是可以连通的,并且外网服务器可以通过内网ssh登录内网服务器

二、开启外网服务器的IP路由转发功能

[root@centos6 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

或者

[root@centos6 ~]# vim /etc/sysctl.conf

修改或添加为net.ipv4.ip_forward = 1

[root@centos6 ~]#  sysctl -p

三、在外网服务器上设置iptables的NAT转发功能

[root@centos6 ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.9.134:22

#外网服务器上的2222端口代理到内网服务器的22端口。

[root@centos6 ~]# iptables -t nat -A POSTROUTING -d 192.168.9.134/32 -p tcp -m tcp --sport 22 -j SNAT --to-source 192.168.9.101

#修改转发数据来源为内网网卡IP。

[root@centos6 ~]#iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT

#设置接受对2222端口的访问

[root@centos6 ~]# iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

#设置转发出接口为eth2

[root@centos6 ~]# service iptables save

[root@centos6 ~]# service iptables restart

#保存重启iptables

nat端口转发设置成功后,/etc/sysconfig/iptables文件里要注释掉下面两行!不然nat转发会有问题!一般如上面在nat转发规则设置好并save和restart防火墙之后就会自动在/etc/sysconfig/iptables文件里删除掉下面两行内容了。

[root@centos6 ~]# vim /etc/sysconfig/iptables

..........
#-A INPUT -j REJECT --reject-with icmp-host-prohibited         //这两行最好是注释掉。在一般的白名单设置中,如果这两行不注释,也会造成iptables对端口的设置无效
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited

[root@centos6 ~]# service iptables restart

外网服务器的iptables规则表

内网服务器的iptables规则表

四、测试登录

用支持ssh软件登录或其他外网主机进行登录

上图第一行提示从外网服务器的内网IP登录系统,说明实验成功。

如有疏漏,欢迎指正,谢谢!

iptables设置映射通过外网端口代理ssh登录内网服务器相关推荐

  1. 利用公有云cvm 公网IP实现内网穿透,远程登录内网服务器

    公有云服务 生成公私钥文件 ssh-keygen && cp ~/.ssh/id_rsa.pub  ~/.ssh/authorized_keys 将生成的私钥文件 id_rsa 复制到 ...

  2. 无需公网IP,SSH远程内网linux服务器

    通常内网服务器没有公网IP,外网无法直接访问.我们可以通过一个公网服务器发起连接,来实现外网远程访问内网的服务器. 我这里用的是cpolar内网穿透,支持http/https/tcp协议,可以永久免费 ...

  3. nat123端口映射: 外网通过ssh访问内网非公网ip的服务器

    问题描述 LINUX部署在内网环境,没有公网IP,在内网可以上外网.如何实现在外网SSH访问内网LINUX主机? 解决方法: 使用nat123端口映射,一步映射即可将内网LINUX地址映射到外网,实现 ...

  4. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践

    欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...

  5. 内网映射代理方案(内网穿透)

    由于开发的需求,需要将内网的服务暴露到外网,这就需要内网映射代理了,这样的工具有很多,比如ngork.tunnel.mobi.localtunnel,但是了解之后发现大家给出诸多吐槽,付费呀,不稳定啊 ...

  6. linux设置端口80禁止访问,linux iptables 设置仅22、80端口可访问

    linux iptables 设置仅22.80端口可访问 博客分类:linux 防火墙sshiptables [设置仅22.80端口可访问] 通过命令 netstat -tnl 可以查看当前服务器打开 ...

  7. win10设置同时连接有线和wifi同时能访问内网和外网

    win10设置同时连接有线和wifi同时能访问内网和外网 直接修改脚本参数,运行就完事了 创建txt文件,内容如下,修改要转发的ip,和网关. route delete 0.0.0.0 route d ...

  8. 通过SOCKS代理渗透整个内网

    通过SOCKS代理渗透整个内网 1.背景 经过前期的渗透工作,我们现在已经成功找到了web站点的漏洞,并且获得了一个普通的webshell,现在准备用菜刀去连接它. 注意:本次环境在本地搭建,假设现在 ...

  9. 内网渗透-内网代理穿透和内网横向移动

    内网代理穿透和内网横向移动 文章目录 内网代理穿透和内网横向移动 前言 内网代理穿透 nc termite(ew) ssh正向代理(A,B,C) msf设置路由和sock4代理访问内网流量 内网横向移 ...

最新文章

  1. <软件过程与改进>计算大题考点总结与例题
  2. 深入Jetty源码之HTTP协议
  3. php能实现文本复制吗,php 简单复制文件的方法
  4. Android Activity和Intent机制学习笔记
  5. 批量图片压缩工具:JPGCompact 2.0绿色版
  6. 上周五 oracle,Oracle 获取上周一到周末日期的查询sql语句
  7. php smarty安装,php smarty 安装 、配置、使用 及缓存cache的配置使用
  8. C语言图形化编程 【二】
  9. iOS开发~sizeClass和autolayout
  10. mysql主从复制缺陷_mysql主从复制及遇到的坑
  11. 我们终于可以把 bug 留给子孙后代了
  12. 公共wifi做家用_如何在公共网络上获得免费的wifi
  13. 镜像上传到linux失败,Docker push镜像失败解决方法
  14. 【Kafka】Kafka eagle 监控界面无数据
  15. 阿里云飞天洛神:高性能网络软硬件一体化技术实践 | 凌云时刻
  16. ffmpeg录制音频 命令行与C++实现
  17. c语言条件语句程序实例,c语言if(c语言if语句例子)
  18. 【学习day1】图像分类数据集+softmax回归
  19. git 终端配置mac(udacity)
  20. 一年中最后一个月的最后一天说说_一年最后一天的说说

热门文章

  1. 猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮
  2. WPF解决方案和项目结构
  3. sk_buff属性详解
  4. hive之beeline连接与操作
  5. Linux驱动——mmc sd card初始化流程(十一)
  6. Dell服务器做磁盘阵列
  7. 关于什么是物联网?没有比这篇文章更全的了
  8. 对接海康设备-vue
  9. html中加大字体,html字体加大标签与写法介绍
  10. AndroidStudio安装配置教程(参考)