注意:本机路由转发的时候,才配置FORWARD转发链!

#iptables –A FORWARD –s 192.168.0.0/24 –j ACCEPT

#iptables –A FORWARD –d 192.168.0.0/24 –j ACCEPT

上面只是打通了局域网通过此机的Forward的通道,也就是打通了局域网与外网的链路,实际上并起不到任何的作用,因为在内核里面的转发文件并没有打开,因为我们要手工修改/proc/sys/net/ipv4/ip_forward 的值,将默认的0改为1!(1为打开,0为关闭)

例:#10.0.0.241 -----< 202.96.209.5

内网在访问外网的时候,包在到达外网后,外网不知道也没有办法回应此包给内网的主机,从而使得内外网无法实现通信;所以在网关上要在一个地址转换(NAT)将局域网地址翻译成互联网地址,它是通过NAT表(Network Address Trastation)来实现的。

#iptables –t nat –L –n

Prerouting是在routing之前的,在数据包进入routing之前就可以翻译数据包的目标地址,如果目标确定好了,发出去了,这时要经过postrouting链。( Prerouting是routing之前所经过的链,而postrouting是routing之后所经过的链 )

一、SNAT(源地址转换)

一个包如果目标不是自己,在通过Forward的时候,把源翻译成自己的地址。

源地址转换,只是把源的地址换成了自己的地址,它只能发生在postrouting上,不能发生在prerouting上。

二、DNAT(目标地址转换)

当一个包在进入routing之前,也就是在prerouting的时候,转换它的目标地址。

三、SNAT应用

10.0.0.241主机的网关为10.0.0.254,主机241发送的数据包都要经过254进行转换.

#iptables –t nat –A postrouting –s 10.0.0.0/24 –j SNAT --to-source 192.168.0.254

#iptables –t nat –L –n

在10.0.0.241上访问192.168.0.1   #ping 192.168.0.1 通的.

拨号网关: #iptables –t nat –A postrouting –s 10.0.0.0/24 –j MASQUERADE (伪装)

、DNAT应用

DNAT保护局域网

#iptables –t nat –A prerouting –d 10.0.254 –p tcp –dport 80 –j NAT --to-destination 192.168.0.1

总结:SNAT(源地址转换)发生在postrouting的时候;
    DNAT(目标地址转换)发生在prerouting的时候;

iptables之FORWARD转发链的更多相关文章

  1. FORWARD转发链的功能

    B主机开启路由转发功能,相当一台路由器,

  2. iptables 设置端口转发/映射

    iptables 设置端口转发/映射 服务器A有两个网卡 内网ip:192.168.1.3 外网ip:10.138.108.103 本地回环:127.0.0.1 服务器B有网卡,8001提供服务 内网 ...

  3. iptables四表五链及默认规则使用,

    网络基础 TCP/IP模型: 应用层===传输层===网络层===数据链里层===物理层 数据封装: MAC帧头+IP报头+TCP/UDP报头===HTTP请求 数据帧 TCP/UDP报头: 随机产生 ...

  4. [转帖] iptables之四表五链

    iptables之四表五链 http://www.cnblogs.com/clouders/p/6544584.html mark 学习一下 对防火墙一无所知.. iptables可谓是SA的看家本领 ...

  5. 亲测可用,iptables实现NAT转发。

    环境 服务器A:192.168.1.7 服务器B: 192.168.1.160 需求 实现将本机(192.168.1.7:7410)端口流量转发给(192.168.1.160:9200). 1. 内核 ...

  6. iptables nat 技术转发

    NAT 一. 什么是 NAT NAT(Network Address Translation)译为网络地址转换.通常路由器在转发我们的数据包时,仅仅会将源MAC地址换成自己的MAC地址,但是NAT技术 ...

  7. centos7 && centos6.5部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发

    centos7 && centos6.5 部KVM使用NAT联网并为虚拟机配置firewalld && iptables防火墙端口转发 一.准备工作: 1: 检查kvm ...

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

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

  9. DNS之BIND使用小结(Forward转发)

    之前详细介绍了DNS及其在linux下的部署过程,今天再说下DNS的BIND高级特性-forwarder转发功能.比如下面一个案例:1)已经在测试环境下部署了两台内网DNS环境,DNS的zone域名为 ...

随机推荐

  1. Contextual Action bar(1) CAB in Android

    Contextual Action bar (CAB) in Android BY PARESH MAYANI - OCTOBER, 23RD 2013 Before getting into the ...

  2. h5-24-百度地图-地址解析

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

  3. [在读]functional javascript

    讲javascript函数化编程的一本书,逛淘宝正好看到有一家卖英文书的,顺手就买了,目前搁置.

  4. [已读]JavaScript编程精解

    译者汤姆大叔,应该很多人都知道,他写了一系列的关于闭包与作用域理解的文章,但是由于创建了一些我不理解的新名词,我不爱看. <JavaScript编程精解>算是买得比较早的一本书,那会大肆搜 ...

  5. Jenkins视图使用--添加删除视图

    job建立的特别多的时候,我们可能不太容易找到自己的某个job,这时,我们就可以在Jenkins中建立视图.job的视图类似于我们电脑上的文件夹.可以通过一些过滤规则,将已经建好的job过滤到视图中, ...

  6. [转]Linq 如何实现 in 与 not in

    本文转自:http://blog.csdn.net/zhangyumei/article/details/5620363 接触 LINQ 也有很长的一段时间了,有些在 SQL 语句中用的很顺手的东西在 ...

  7. 学习ASP.NET MVC5的一个轻量级的NinJect框架学习的第二天

      新建一个Abstract文件夹   放置一些抽象的类,如接口   我们通过该接口就可以得到对应类的相关信息, 不需要去管该数据如何存储,以及存储的位置,这就是存储库模式的本质  public  i ...

  8. Some Python Tricks

    python 的包管理很不好用,理解费力,故偷懒,模块仍按文件布局,写一个合并脚本将各个模块合并输出到一个脚本文件,分别管理,合并输出,回避了加载模块的问题 f-format 仅在python 3.6 ...

  9. Spring源码:Spring IoC容器加载过程(1)

    Spring源码版本:4.3.23.RELEASE 一.加载过程概览 Spring容器加载过程可以在org.springframework.context.support.AbstractApplic ...

  10. Java入门小知识

    软件开发什么是软件?  一系列按照特定顺序组织的计算机数据和指令的集合什么是开发?  制作软件 人机交互  软件的出现实现了人与计算机之间的更好的交互交互方式   图形化界面:这种方式简单直观,使用者 ...