场景

A机器能够联通内网机器,B机器能够联通A机器,但是访问不到内网机器,场景是希望通过A机器能够转发直接联通局域网内的其它机器

机器IP

内网为172.0.0.x/24

A机器为172.0.0.10/24

A机器为192.168.1.10/24

B机器IP为192.168.1.20/24

进行设置

在A机器上进行设置

[root@jenkins ~]# cat ip.sh
#!/bin/sh
#
IPT="/sbin/iptables" /bin/echo "1" > /proc/sys/net/ipv4/ip_forward /sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp $IPT -F
$IPT -t nat -F
$IPT -X
$IPT -t nat -X
$IPT -Z
$IPT -t nat -Z $IPT -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j SNAT --to 172.0.0.10
$IPT -A FORWARD -s 192.168.1.20 -j ACCEPT

意思是来自192.168.1.0网段的数据通过172.0.0.10这个进行转发,这个172.0.0.10是转发机器本机的ip

在客户端192.168.1.20机器执行

route  add  -p  172.0.0.0 mask 255.255.255.0 192.168.1.10

-p 参数:p 即 persistent 的意思

-p 表示将路由表项永久加入系统注册表

如果要删除

route delete 172.0.0.0

通过添加静态路由,把发往172.0.0.0网段的数据通过192.168.1.10这个网关进行转发

然后这个192.168.1.20的机器就能跟内网的172.0.0.x的机器进行通信了

备注

#songtao to 254
$IPT -t nat -A POSTROUTING -s 66.66.66.64/255.255.255.255 -j SNAT --to 192.168.188.247
$IPT -A FORWARD -s 66.66.66.64 -d 192.168.188.12 -j ACCEPT

如果是内网的,并且只代理一个ip的,可以这样处理

66.66.66.64为客户端机器

192.168.188.12为目标机器

192.168.188.247为代理机器本地的ip,能够连通目标机器的那个ip

第二行为指定可以访问的ip

更新历史

why when
创建 2019年09月04日
更新 2019年12月9日

如何通过iptables代理访问内网的更多相关文章

  1. Nginx反向代理访问内网服务器

    Nginx反向代理访问内网服务器 问题描述 ​ 公司给配的台式机太垃圾了,不能访问外部网络就算了,还没有maven私服.近期项目不光得使用maven还得使用内网中的数据库之类,台式机太卡只能用自己的笔 ...

  2. 浏览器 Proxy SwitchyOmega 插件设置代理访问内网服务器

    使用Proxy SwitchyOmega 插件通过代理 直接访问到内网网站 一.使用场景 如下图所示,如果在电脑的网络设置中开启代理,每次更换代理就需要进入这里设置改变代理.且我们可能回需求到两个网页 ...

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

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

  4. 配置多层NAT和端口映射实现外网访问内网

    配置多层NAT和端口映射实现外网访问内网 背景和原理 通过配置NAT可以实现内网中不能直接访问外网的主机通过NAT代理访问内网,配置方法这里不再赘述(前文有介绍).本文以两层的NAT代理做模拟,通过端 ...

  5. 利用iptables的NAT代理实现内网访问外网

    利用NAT代理实现内网访问外网 背景及原理 若局域网中的两台计算机只能有一台能够访问外网,而这两台计算机之间能相互通信,那么可以配置能访问外网的那台服务器实现路由器的功能,即实现其他机器的NAT转换, ...

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

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

  7. Openvpn 公网访问内网

    对于需要从公网访问内网的情况, 需要做如下配置 从公网到内网 除了设置net.ipv4.ip_forward = 1 以外, 还需要设置iptables, 增加两行forward # Generate ...

  8. 访问内网(https,udp)

    安装teamview 客户端. 安装vpn驱动(这里的VPN应该是A主机与B客户端分别连接上了teamview的服务器,但是本身不是局域 网,所以不能直接访问A的局域网的其他主机) 主机端A,安装主机 ...

  9. 使用Holer外网SSH访问内网(局域网)Linux系统

    1. Holer工具简介 Holer exposes local servers behind NATs and firewalls to the public internet over secur ...

随机推荐

  1. bootStrap小结3

    <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...

  2. 利用Image对象,建立Javascript前台错误日志记录

    手记:摘自Javascript高级程序设计(第三版),利用Image对象发送请求,确实有很多优点,有时候这也许就是一个创意点,再次做个笔记供自己和大家参考. 原文: 开发 Web 应用程序过程中的一种 ...

  3. swoft运行流程

    启动命令 php bin/swoft http:start 或者  swoftctl run -c http:start 1 入口文件 bin/swoft.php #!/usr/bin/env php ...

  4. react渲染数据3种方式

    直接渲染,()类似于模板字符串,包裹一个dom元素 ReactDOM.render( (<div> <h2>现在时间:{new Date().toLocaleTimeStrin ...

  5. 【Azure 环境】连接到微软云Azure中国区 By VS 2019, VS Code, Powershell

    问题情形 最近,在使用最新的VS Code插件连接到中国区的Azure时候,出现了依旧是global版的登录连接.这个问题是当前Azure Account插件最新版的问题,可以使用V0.8.11版本登 ...

  6. Html+Ajax+Webservice 实现文件跨域上传

    1. 界面HTML <p >上传文件: <input id="zfiles" type="file" name="file" ...

  7. JAVA 基于Jusup爬虫

    java爬虫核心:httpclient slf4j jsoup slf4j 配置文件log4j.properties log4j.rootlogger=DEBUG,A1log4j.logger.cn. ...

  8. 循序渐进VUE+Element 前端应用开发(21)--- 省市区县联动处理的组件使用

    在很多应用中,往往都涉及到记录用户所在省份.城市.区县或者街道等信息,一般我们可以通过联动的Select或者类似的界面组件进行展示,或者使用Element中的el-cascader界面组件进行展示,而 ...

  9. 印度最大在线食品杂货公司Grofers的数据湖建设之路

    1. 起源 作为印度最大的在线杂货公司的数据工程师,我们面临的主要挑战之一是让数据在整个组织中的更易用.但当评估这一目标时,我们意识到数据管道频繁出现错误已经导致业务团队对数据失去信心,结果导致他们永 ...

  10. Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)

    前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...