参考连接:https://developer.aliyun.com/article/607330

环境为云环境,有外网主机的IP为192.168.0.39,无外网主机的IP为192.168.0.228

需要实现无外网主机通过有外网主机的IP上网,同时还可以做nat。最终目的是把无网主机连上网,然后把无网的主机的服务端口映射出去。让互联网可以直接访问原本无网主机的服务。

1,首先需要增加一个私网ip地址192.168.0.2,增加在私网里面ping一下看是否生效。

E="eth0"

BOOTPROTO="dhcp"

ONBOOT="yes"

TYPE="Ethernet"

PERSISTENT_DHCLIENT="yes"

IPV6INIT=yes

DHCPV6C=yes

IPADDR=192.168.0.2

PREFIX=24

2,安装iptables服务

yum install iptables-services

3,开启ip转发功能

vi /etc/sysctl.conf

net.ipv4.ip_forward=1

4,使sysctl -p命令使上面的配置修改生效。

sysctl -p

5,配置SNAT规则,

iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 192.168.0.39

可以这样理解 iptables -t nat -I POSTROUTING -s 转换的网段 -j SNAT --to-source 转换后的源地址也就是能上外网的地址

保存生效

service iptables save

也可以通过修改iptables配置文件来配置规则

配置文件路径

vi /etc/sysconfig/iptables

需要注意的是修改iptales配置文件之后要重启iptables服务。

systemctl restart iptables

配置过SNAT之后,原本无网的主机添加一条静态路由之后就可以上网了。

在无网的主机上添加静态路由

route add -net 0.0.0.0/0 gw 192.168.0.2

测试联网

6,配置DNAT规则,配置DNAT规则的目的在于在原无网主机的某个服务映射出去,下面将原本无网主机的ssh服务映出去。实现从外面连3389端口,数据转发内部主机192.168.0.228主机上的22端口上。

iptables -t nat -I PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.0.228:22

iptables -t nat -I POSTROUTING -p tcp --dport 3389 -j MASQUERADE

可以这样理解:

iptables -t nat -I PREROUTING -p tcp --dport 对外开放端口号 -j DNAT --to 转发到内网之后的IP和端口号

iptables -t nat -I POSTROUTING -p tcp --dport 对外开放端口号 -j MASQUERADE

注意:云主机所在的安全组要访问对应的端口

也可以通过编辑iptables配置文件来实现

编辑配置文件之后有要重启iptables服务,直接使用iptables命令的要执行保存操作。对应目录如下

重启服务

systemctl restart iptables

保存配置

service iptables save

最后测试成功

Iptables 代理局域网内的主机上网的更多相关文章

  1. arp命令(windows ),nmap查看局域网内所有主机IP和MAC

    ARP命令详解 ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址.实用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容.此外,使用arp命令,也可 ...

  2. Nginx代理实现内网主机访问公网服务

    通过Nginx代理实现内网主机访问公网和接口服务 1.需求: m2.test.com为公司测试环境的微信测试域名,因为要调用微信服务接口需要访问外网,现通过Nginx代理现实此功能. 2.环境如下: ...

  3. 局域网内其他主机如何访问运行在宿主机的虚拟机中的Django项目(转)

    局域网内其他主机如何访问运行在宿主机的虚拟机中的Django项目     1.在宿主机cmd中查看宿主机的ip(注意区分主机中虚拟机的ip) 我连的是无线,IP如下 2.在Django项目的mysit ...

  4. 访问局域网内其他主机的VMware虚拟机上的mysql数据库和redis缓存

    上一篇写了访问局域网内其他主机的虚拟机上的项目 ,现在说说访问局域网内其他主机的虚拟机上的数据库和缓存 博主使用的linux是Ubuntu16.04: 一.安装数据库和缓存 这里连接的数据库和缓存以m ...

  5. 如何通过iptables代理访问内网

    场景 A机器能够联通内网机器,B机器能够联通A机器,但是访问不到内网机器,场景是希望通过A机器能够转发直接联通局域网内的其它机器 机器IP 内网为172.0.0.x/24 A机器为172.0.0.10 ...

  6. windows CMD命令查看局域网内所有主机名及IP

    COLOR 0A CLS @ECHOOff Title查询局域网内在线电脑IP :send @ECHO off&setlocal enabledelayedexpansion ECHO 正在获 ...

  7. AUTOSSH设置ssh隧道,实现反向代理访问内网主机

    内网主机上配置: autossh -M -CNR :localhost: ubuntu@123.207.121.121 可以实现将访问主机123.207.121.121的1234端口的数据,通过隧道转 ...

  8. CentOS squid代理内网主机上网 openVpn配置

  9. Linux 下查看局域网内所有主机IP和MAC

    linux环境下,执行namp对局域网扫描一遍,然后查看arp缓存表就可以知道局域内ip对应的mac.namp比较强大也可以直接扫描mac地址和端口,执行扫描之后就可以在/proc/net/arp查看 ...

随机推荐

  1. 一起学习PHP中GD库的使用(二)

    在日常的开发过程中,GD 库最常用的功能就是帮我们对图片进行一些处理,当然,除了处理已有的图片之外,它也可以直接来画图,就像我们最常见的图片验证码.今天的内容主要就是和画图有关,所以最后我们也会做一个 ...

  2. 本地文件名大写,提交到git仓库后变成了小写

    输入改命令即可: git config core.ignorecase false

  3. php发送邮件方法-亲测可用,email.class.php过期解决办法

    php虽然提供了mail()函数,但并不好用,而PHPMailer是一个不错的邮件发送工具,使用起来也是非常简单!使用PHPMailer发送邮件: <?php header("cont ...

  4. css定位,class属性之间有空格与无空格的区别

    中间有空格的情况 是选择到.class1类下的.class2类子节点,即.class2类的节点要是.class1类子节点 <style> .class1 { color: black; } ...

  5. Jmeter压测学习5---HTTP Cookie管理器

    我司项目暂时不需要,直接转载:https://www.cnblogs.com/yoyoketang/p/11963342.html 前言 web网站的请求大部分都有cookies,jmeter的HTT ...

  6. Ubuntu安装Oracleclient远程连接数据库

    平时Oracle数据库都安装在本地或者WindowsServer上进行使用,但因为工作需要,领导要求在虚拟机中安装Ubuntu来连接Windows本地安装的数据库,先将操作过程和遇到的问题进行梳理总结 ...

  7. Winform 空闲时间(鼠标键盘无操作)

    前言 Winform 在特定情况下,需要判断软件空闲时间(鼠标键盘无操作),然后在做一下一些操作. 实现 做了一个简单的例子,新建一个窗体,然后拖两个控件(Timer控件和label控件) using ...

  8. java 从零开始手写 RPC (04) -序列化

    序列化 java 从零开始手写 RPC (01) 基于 socket 实现 java 从零开始手写 RPC (02)-netty4 实现客户端和服务端 java 从零开始手写 RPC (03) 如何实 ...

  9. ECMA 2022 (es13) 新特性

    本文主要整理了截至到 2021年10月12日 为止的且处于 Stage 3->Stage 4 阶段的ECMA提案. 主要包括: Class Fields RegExp Match Indices ...

  10. 阿里 Midway 正式发布 Serverless v1.0,研发提效 50%

    Github:https://github.com/midwayjs/midway 开源为了前端和 Node.js 的发展,点 Star! 去年阿里提出 Serverless 架构,并利用其新一代研发 ...