iptables--SNAT、DNAT实践

目录

iptables--SNAT、DNAT实践

1.1 SNAT代理内网上网-iptables. 3

1.1.1 环境说明... 3

1.1.2 部署过程... 3

1.2 DNAT-映射内网服务器-iptables-实现外网IP的端口映射到内网IP的端口    5

1.2.1 需求:... 5

1.2.2 实现命令... 5

1.2.3 验证... 5

1.1 SNAT代理内网上网-iptables

1.1.1 环境说明

主机A:(能上网)
ip:内172.16.1.7/24 外10.0.0.7/24 系统CentOS 6.9
主机B:(不能上网)
ip:内172.16.1.8/24 系统CentOS 6.9

SNAT: 改变数据包的源地址。主机A的防火墙将数据包的源地址替换为10.0.0.7/24。这样使网络内部主机能够与网络外部通信。

1.1.2 部署过程

1.1.1.1 主机A:开启内核转发功能

#永久
vim /etc/sysctl.conf
修改 net.ipv4.ip_forward = 1
sysctl -p

1.1.1.2 主机A:iptables添加SNAT规则

   映射多个外网IP上网

iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j SNAT --to 10.0.0.7
#验证成功后-优化
service iptables save #保存配置
chkconfig iptables on #开机自启

映射多个外网IP上网

方法1:
iptables -t nat -A POSTROUTING -s 10.0.1.0/255.255.240.0 -o eth0 -j SNAT --to-source 124.42.60.11-124.42.60.16
三层交换机或路由器,划分VLAN。 方法2:
iptables -t nat -A POSTROUTING -s 10.0.1.0/22 -o eth0 -j SNAT --to-source 124.42.60.11
iptables -t nat -A POSTROUTING -s 10.0.2.0/22 -o eth0 -j SNAT --to-source 124.42.60.12
扩大子网,增加广播风暴。

1.1.1.3 主机B : 添加默认路由并验证

[root@localhost B~]# route add default gw 10.0.0.1   #添加路由 (临时修改)
永久修改:修改网卡配置文件
[root@localhost B~]# route -n #查看路由
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 172.16.1.6 0.0.0.0 UG 0 0 0 eth1
验证:
[root@localhost B~]# ping www.baidu.com
PING www.a.shifen.com (111.13.100.91) 56(84) bytes of data.
64 bytes from 111.13.100.91: icmp_seq=1 ttl=128 time=5.42 ms
64 bytes from 111.13.100.91: icmp_seq=2 ttl=128 time=5.34 ms

1.2 DNAT-映射内网服务器-iptables-实现外网IP的端口映射到内网IP的端口

1.2.1 需求:

将网关的IP和9000端口映射到内网服务器的22端口

   端口映射 10.0.0.7:9000 -->172.16.1.8:22

1.2.2 实现命令

1、需要开启内核转发功能

2、iptables -t nat -A PREROUTING -d 10.0.0.7 -p tcp --dport 9000 -i eth0 -j DNAT --to-destination 172.16.1.8:22

1.2.3 验证

[f:\~]$ ssh 10.0.0.7 9000

代理内网上网-iptables的更多相关文章

  1. iptables之NAT代理-内网访问外网

    1.前言 本文使用NAT功能:内网服务器,想上网又不想被攻击. 工作原理:内网主机向公网发送数据包时,由于目的主机跟源主机不在同一网段,所以数据包暂时发往内网默认网关处理,而本网段的主机对此数据包不做 ...

  2. CentOS下OpenVPN实现公网IP映射到内网(iptables转发功能)(转)

    说明:这种方案的实现前提是必须要有一台拥有公网IP的电脑,OpenVPN搭建过程很普通,关键技术在于iptables的转发.搭建教程可能有点旧了,可以只看iptables的关键点技术. 方案背景: 公 ...

  3. [原创]K8飞刀20150725 支持SOCKS5代理(内网渗透)

    工具: K8飞刀编译: 自己查壳组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/7/26 3:41:11 简介: ...

  4. Mysql-proxy代理内网数据库

    Mysql-proxy 参考:https://segmentfault.com/q/1010000000394160 情景分析:首先您需要正在使用UCloud云主机(uhoust)以及云数据库(udb ...

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

  6. 典型案例收集-使用OpenVPN连通多个机房内网(iptables+静态路由)

    说明: 1.这个方案是我最初实现的方案,目的在于OpenVPN连通后使其能访问各自的子网,实现互通. 2.主要以iptables为主,这个是关键点,并且这种方式配置iptables十分复杂,最后加入了 ...

  7. IDC 内网机器 通 过 iptables SNAT上网的配置方法

    有三台机器, A .B .C,其中A机器有外网和内网IP,B和C只有内网,我们配置B和C二台机器通过A机器来上外网. 假设A机器 外网IP为: 60.12.13.14  内网IP为: 192.168. ...

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

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

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

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

随机推荐

  1. MQTT 简介

    MQTT 全称是 Message Queue Telemetry Transport,是一个轻量级的“发布/订阅”消息传输协议. 官网 http://mqtt.org/ 发布/订阅 MQTT 的基本概 ...

  2. 0基础手把手教你搭建webpack运行打包项目(未完待续)

    这些天在项目之余的时间学习了webpack打包项目的东西,非常荣幸的找到一些大神的文章来学习,死劲嚼了几天,终于略知一二.在以后的工作上还需继续学习,下面我将分享我这几天学到的一点东西,希望能让我一个 ...

  3. 个人的MySql配置总结

    lower_case_table_names参数是用来设置MySQL是否让Schema和数据表大小写敏感,我测试的是在查询界面和MySQL控制台界面无法改变它的值,要在配置文件中改变(先关闭服务),一 ...

  4. GVIM与模板——让FPGA开发变得更简单

    还在使用FPGA开发环境自带的代码编辑器?还在逐个字母敲击冗长重复的代码?明德扬至简设计法让你快速提高代码编写效率!利用GVIM这一高效的编辑工具并添加自定义模板,通过简短的脚本命令即可自动生成所有常 ...

  5. 在html中使用js

    1.使用defer属性可以让脚本在文档完全呈现出来之后在执行,延迟脚本总是按照制定他们的顺序进行. 2.使用async属性可以表示当前脚本不必等待其他脚本,也不必阻塞文档呈现,不能保证异步顺序按照它们 ...

  6. 在Windows上运行Linux

    在Windows上运行Linux 之前了解过一些适用于linux的Windows子系统,最近又听人提起,于是在自己的Windows 10专业版上安装了一个Ubuntu.运行起来还真方便,以后在wind ...

  7. ASP.NET Core MVC中的 [Required]与[BindRequired]

    在开发ASP.NET Core MVC应用程序时,需要对控制器中的模型校验数据有效性,元数据注释(Data Annotations)是一个完美的解决方案. 元数据注释最典型例子是确保API的调用者提供 ...

  8. 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建

    缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...

  9. Ubuntu安装微信

    1.系统是Ubuntu 16.04 64位系统,在网上先去下载electronic-wechat-Linux         https://github.com/geeeeeeeeek/electr ...

  10. thinkinginjava学习笔记08_接口

    抽象类和抽象方法 抽象方法是指没有具体实现的方法,仅仅有方法的声明和没有方法体:使用abstract关键字定义一个抽象方法:包含抽象方法的类成为抽象类,如果一个类中包含抽象方法则必须使用abstrac ...