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. Python 项目实践一(外星人入侵)第一篇

    python断断续续的学了一段实践,基础课程终于看完了,现在跟着做三个小项目,第一个是外星人入侵的小游戏: 一 Pygame pygame 是一组功能强大而有趣的模块,可用于管理图形,动画乃至声音,让 ...

  2. 自学Python5.3-内置模块(1)

    内置模块(1)内置模块是Python自带的功能,在使用内置模块相应的功能时,需要  先导入 再 使用  1.OS模块       用于提供系统级别的操作: os.getcwd() 获取当前工作目录,即 ...

  3. 【npm】如何在Atom中安装emmet和atom-beautify插件?

    为了提高编写HTML和CSS的速度,最近尝试着在Atom中安装emmet插件,下面谈谈安装成功的过程 1首先我尝试了网上教程中介绍最多的方法:打开Atom的引导界面(Welcome Guide)中的i ...

  4. 《程序设计实践》【PDF】下载

    <程序设计实践>[PDF]下载链接: https://u253469.ctfile.com/fs/253469-231196319 内容简介 本书从排错.测试.性能.可移植性.设计.界面. ...

  5. ligerUI---ligerGrid默认选中checkbox

    写在前面: ligerGrid中是可以带有checkbox(前面有可以选择打勾勾的框框)的,对于checkbox默认选中 这次项目中也要做,因为一个系统的增删改查,在修改一条数据的时候,是需要对原来的 ...

  6. 【CSS3】定位

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. iOS 应用中加载文档pdf/word/txt

    一.加载PDF文档:应用内打开文档.手机中其他应用打开文档 Demo 首先拖入一个文档pdf.word.txt,打开不同的文档知识 文件名字.类型修改即可 #import "ReadView ...

  8. C++ 头文件系列(stdexcept)

    预定义异常类 这个头文件包含的内容非常简单,只包含9个异常类,均从exception类派生,因此我们用三张图来描述: 这里仅解释两点: overflow : 指值的大小超过 整型 变量能表示的范围,即 ...

  9. Docker安装入门 -- 应用镜像

    Docker安装入门 -- 应用镜像 WordPress  1.docker build -t csphere/wordpress:4.2 .  2.docker run -d -p 80:80 -- ...

  10. python学习中的一些“坑”

    一.交互列表元素时,需要注意的坑. 例如: array=[4,5,9,8,10,8,4,0,3,4]  最大的值与第一个元素交换,最小的值与最后一个元素交换 # -*- coding: UTF-8 - ...