话说NAT,顾名思义就是网络地址转换。ipv4地址实在太不够用了,所以才出来的这么个东东,现在一般的企业机房内的机器访问网络都是配置的NAT,要不然的话私有地址是不允许在公网上传输的,也米有路由啊,内网的包出去后都会把源地址改成一个公网地址用来路由到达目的地.言归正传,下面说下用iptables如何实现NAT。

我没有公网的条件,所以用2个网段模拟下

A:eth0 192.168.128.128 模拟公网
eth1 192.168.80.128  内网
gw  192.168.128.1   默认网关,切记不要设置80段的网关
有一个网关就够了
B:eth1 192.168.80.129  内网节点
一、配置A机
打开ip_forward允许转发数据包
echo 1 >/etc/sys/net/ipv4/ip_forward
或者vi /etc/sysctl.conf 改为1 保存,执行sysctl -p
二、配置B机
将内网机器的网关指向nat A
route add default gw 192.168.80.128
删除旧网关route del default gw 192.168.80.1
route -n # 看下当前路由
三、B机想要上网,就要利用SNAT源网络地址转换,咱们用这个技术既可以
    化解四版本的地址危机,又可以起到隐藏局域网信息的功能。下面来看
    看如何使用SNAT技术使用内网用户安全上网。其实就是修改出去的封包的
源地址.
在A上执行:

        这样80段的内网都伪装成128.128出去了.
如果128.128是动态的,亦即我们平时用的adsl上网,可以这么样写
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ppp0 -j MASQUERADE
先在B上ping www.baidu.com看是否通:
ok,大功告成可以上网了.不是很难吧 这样伪装成公网ip后 就可以在公网路由  了。
四.DNAT 目标网络地址转换。和SNAT刚好相反,设置外面的主机访问内部的主机
   比方http服务
  

为了验证有么有生效,我们访问http服务

上图是我当初测试lvs时在80.128上设置的nginx的主页。ok 搞定,你学会了吗?

补充下外部访问内部的ftp的设置:

在A机上配置
modprobe ip_nat_ftp
   iptables -t nat -A PREROUTING -d 192.168.128.128 -p tcp --dport 21
-j DNAT --to 192.168.80.129:21
这样你的ftp就可以对外使用了

有人该问,如何限制内网用户呢,下一步就是涉及到forward链了,预知后事如何

且听下回分解。

转载于:https://blog.51cto.com/linuxgp/596167

iptables之NAT相关推荐

  1. CentOS 7 下用 firewall-cmd / iptables 实现 NAT 转发供内网服务器联网

    自从用 HAProxy 对服务器做了负载均衡以后,感觉后端服务器真的没必要再配置并占用公网IP资源. 而且由于托管服务器的公网 IP 资源是固定的,想上 Keepalived 的话,需要挤出来 3 个 ...

  2. [iptables]Redhat 7.2下使用iptables实现NAT

    [iptables]Redhat 7.2下使用iptables实现NAT Redhat 7.2下使用iptables实现NAT zerg_79 | 2005年二月24日, 17:16 环境: 一台DE ...

  3. 总算解决了路由器上iptables的nat问题

    简单的说需要几个指令 iptables -I FORWARD -i br-lan -j ACCEPT 这条指令让路由器接受局域网的转发请求 iptables -t nat -I POSTROUTING ...

  4. linux 清空nat,linux 命令iptables -t nat

    iptables -t nat -vnL是什么命令? 用详细方式列出 nat 表所有链的所有规则,只显示 IP 地址和端口号 iptables -L 粗略列出 filter 表所有链及所有规则 ipt ...

  5. iptables实现NAT

    1.1 什么是NAT 在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改, 更为确切的说,除了将源MAC地址换成 ...

  6. iptables的nat规则骚操作

    水一枪 我对防火墙这块的认知是比较低的, 之前一直没怎么去用 最多的要么就是 iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A OUT ...

  7. iptables之nat表的学习和实验

    本次实验接着上一篇博客<iptables之filter表的学习和实验>进行(https://blog.csdn.net/weixin_40042248/article/details/11 ...

  8. iptables 做NAT代理上网

    在一些场景中,服务器IP地址总是不够用或者说不需要使用公网IP(后端服务器或安全方面),但是有时候会涉及到一个问题,无法通过yum来安装一些依赖包.下面通过iptables做NAT代理客户机上网: 一 ...

  9. 控制iptables的nat转发端口的实现

    [第一.需求描述]      员工通过办公网络的网关服务器(linux)192.168.1.250的snat访问另外一个局域网:安全中心(10.1.1.0/24),但是为了提高安全性,只允许访问安全中 ...

最新文章

  1. 【学习笔记】5、Python基础语法
  2. linux获得蓝牙外设mac,iOS获取蓝牙外设Mac地址
  3. sdut 1730 数字三角形问题
  4. ARP防治攻略————服务器防护
  5. java接口开发 全局异常,全局异常处理
  6. 分表后需要注意的二三事
  7. 单机斗地主单机_单击浏览器中的URL会发生什么
  8. testbench实例 vhdl_FPGA仿真 test bench实例(VHDL)
  9. cs61a 2018spr hw05 的一个题目
  10. # 稳了github star突破9k即时通讯IM开源项目OpenIM版本发布-生产环境重点关注
  11. 计算机制图应用领域,计算机制图对测绘工程的应用
  12. 批量生成pdf书签目录之目录自动格式化(Python实现)
  13. ACCEPTED: waiting for AM container to be allocated, launched and register with RM.
  14. 手机号码归属地api文档
  15. 链游新玩法:传奇4的感悟
  16. 伊丽莎白 里昂妮丝资源_伊丽莎白·布朗(Elizabeth Brown)–湾区最具影响力的女性之一
  17. 一文解析FPGA在数字电源控制器的应用思路
  18. HTML简单入门 代码加注释详解
  19. 看完这篇Linux基本的操作你就会了
  20. (176)FPGA与门实现门控时钟原理

热门文章

  1. 网站域名检测是否被QQ/微信拦截工具
  2. 二次元风格Kratos-pjax主题 WordPress主题
  3. QQ网页登陆密码加密方式(农场、空间、WebQQ等通用)
  4. Hashtable Dictionary的使用
  5. Magento教程 8:如何新增首页选单?
  6. 怎样在 Ubuntu 13.04 Raring Ringtail , 12.10, 12.04 中安装和设置 Samba 实现网上邻居共享...
  7. php:修改目录下文档权限(777,644 )
  8. Golang 标准库--strings
  9. LeetCode刷题(Python)——在排序数组中查找元素的第一个和最后一个位置
  10. 关于安装TortoiseSVN.msi 报错2203错误