网络拓扑如下:hostA/B/C处于同一个局域网:
hostA:
eth0:192.168.0.2
----------------------
hostB:
eth0:192.168.0.1
eth1:10.0.0.1
----------------------
hostC:
eth0:192.168.0.3
eth1:10.0.0.3
----------------------
hostA-route
10.0.0.0/24(-net) 192.168.0.1(gw)
---------------------
hostB-iptables
FORWARD(DROP)
-A FORWARD -d 10.0.0.3 -j ACCEPT
---------------------
在hostA上ping 10.0.0.3竟然通了,说明hostB的规则没有起作用?或者说iptables有问题?其实不是的,数据可以从10.0.0.1也就是hostB走,但是回应却不一定非要原路返回啊,更何况三台机器在一个交换机上插着,因此数据到达hostC之后,回应时根据源地址hostA的eth0查找路由,发现和自己在一个网络中,于是直接从eth0出去了,而不是原路回去,因此可以ping通,如果想使得事情更不混乱一点,只需要在hostB上配置一条nat即可:
-A POSTROUTING -o eth1 -j MASQUERADE
这样数据就不能不原路返回了,肯定ping不通了,但是加上下面一条规则就又通了:
-A INPUT -m state --state ESTABLISHED -j ACCEPT
上述的网络拓扑非常糟糕,在共享式局域网络中配置不同的子网会带来很多隐含的问题,查起来很困难,需要你对网络十分精通才可以,因此最好不要这么配置。
     ESTABLISHED状态的连接是一个双向有数据的连接,用于方便配置防火墙。由于linux的iptables中的filter表是基于包而非连接的,如果你只在一个方向允许数据通过的话,该数据包所属连接的回应数据将被阻止在防火墙,因此需要配置一个反方向允许的策略,如此一来,整个filter表就会扩大一倍。实际上只需要配置下面一条策略就可以了:
-A INPUT -m state --state ESTABLISHED -j ACCEPT
原理是--state是基于ip_conntrack的,而conntrack在filter表的策略之前起作用,而conntrack只要看见回应的数据包就会将此数据包所属的连接状态设置为ESTABLISHED,从而使得上述配置生效。总之,上述配置需要第一个正向数据包可以通过防火墙,之后的两个方向的数据包自然也就都可以通过了。

转载于:https://blog.51cto.com/dog250/1271823

linux网络配置和防火墙配置一例相关推荐

  1. linux下防火墙脚本,Linux系统如何修改防火墙配置

    这篇文章主要介绍了Linux系统如何修改防火墙配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 改Linux系统防火墙配置需要修改 /etc/sy ...

  2. 网卡或网络配置文件(Linux网络操作系统与管理配置)小红帽

    网卡或网络配置文件(Linux网络操作系统与管理配置)小红帽 1.ifconfig是一个用来查看启用禁用的网络接口工具 /etc/sysconfig/network-scripts/ifcfg-eth ...

  3. Linux网络实战 (一) —— DNS配置详解(安装与使用DNS)

    Linux网络实战-- DNS配置 Linux网络实战 (一) -- DNS配置 Linux 本机DNS配置 Linux主机名配置文件 添加一个新的主机名映射 删除一个主机名映射 实例 安装DNS服务 ...

  4. Linux日常运维管理技巧(一)监控系统状态、监控网卡流量、监控IO性能、查看系统进程、查看网络状态、Linux下抓包tcpdump、Linux网络相关、DNS配置

    目录 监控系统状态 监控网卡流量 监控IO性能 查看系统进程 查看网络状态 Linux下抓包 Linux网络相关 监控系统状态 w/uptime查看系统负载 [root@zyshanlinux-01 ...

  5. Linux学习笔记 --iptables防火墙配置

    iptables防火墙配置 一.防火墙简介 1.功能: 1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙 2)分割内网和外网[附带的路由器的 ...

  6. 【CyberSecurityLearning 31】Linux网络信息查看与配置、日志文件的管理、备份及日志服务器的搭建

    目录 网络地址配置 1.确认系统的网卡信息和ip地址 2.关闭networkmanager服务 3.配置网络地址 通过配置文件配置网络地址(让配置的IP地址永久生效) 实验: 日志文件的管理与应急分析 ...

  7. 大数据之linux网络,主机名配置

     Linux是什么? Linux是一款开源免费的操作系统.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.Lin ...

  8. 深度linux 网络配置文件,solver及其配置 - Caffe 深度学习入门教程_Linux教程_Linux公社-Linux系统门户网站...

    solver及其配置 solver算是caffe的核心的核心,它协调着整个模型的运作.caffe程序运行必带的一个参数就是solver配置文件.运行代码一般为 #caffe train --solve ...

  9. linux环境编程unp,linux网络编程之怎么配置好unp.h文件

    1.获取unp源码 然后用tar -zxvf unpv13e.tar.gz命令解压 2.进入unpv13e目录执行configure cd unpv13e ,然后执configure文件 3.打开RE ...

最新文章

  1. @angular/compiler-cli@4.3.6 requires typescript@'=2.1.0 2.4.0' but 2.5.2 was found instead.
  2. Maven整合SSM框架(maven+spring+springmvc+mybatis)
  3. Cassandra HBase和MongoDb性能比较
  4. My github blog
  5. 探索云计算、大数据的特色化应用之路
  6. Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示...
  7. Windows 8系统平台上应用软件安装心得
  8. 安装mysql 5.7.19 winx64解压缩版
  9. 201571030139/201571030134 小学生四则运算软件结对编程
  10. Android Multimedia框架总结(四)MediaPlayer中从Java层到C++层类关系及prepare及之后其他过程
  11. Atitit 编程 序列化技术点 概念原理v2 1. 序列化: 1 2. 序列化的目的 1 2.1. 为了传输 或者存储 1 3. 应用场合 1 3.1. Form提交url 1 3.2. For
  12. Lambert 投影转换相关代码
  13. 计算机职业学校教学论文,中等职业学校计算机教学论文
  14. [原创]解决Heritrix镜像方式存储路径中文乱码的解决方案
  15. CloseHandle(),TerminateThread(),ExitThread()的区别
  16. 电脑哔哩哔哩播放器调整为html5,谷歌浏览器插件哔哩哔哩(Bilibili)播放器扩展Extension for Bilibili Player关闭弹幕、截图、画中画...
  17. 【组合优化】旅行商问题Traveling Salesman Problem(TSP)-约束定义
  18. 论文 | 深度学习股票预测
  19. MT2014——打靶
  20. caffe与Python接口的配置(VC2013 Windows CUDA7.5 Python2.7.12)

热门文章

  1. 软件工程-GoldPoint游戏
  2. 使用amaze ui的分页样式封装一个通用的JS分页控件
  3. 源代码安装-非ROOT用户安装软件的方法
  4. 设计模式 - 观察者模式(JDK)
  5. Working with multiple environments
  6. SQL Server误区30日谈-Day26-SQL Server中存在真正的“事务嵌套”
  7. 千万级并发下的 推送系统建设策略解析(一)
  8. url指定服务器,Linux服务器设置定时任务来访问指定url
  9. oracle导入excel字段超过4000字符数据_产品思考:B端产品中,为什么批量导入功能很重要?...
  10. harris角点检测_角点检测(2) - harris算子 - 理论与Python代码