linux之iptable案例

转自:http://blog.csdn.net/bill_lee_sh_cn/article/details/4401896

1.一对一流量完全DNAT

首先说一下网络环境,普通主机一台做防火墙用,网卡两块

eth0 192.168.0.1  内网

eth1 202.202.202.1 外网

内网中一台主机 192.168.0.101

现在要把外网访问202.202.202.1的所有流量映射到192.168.0.101上

命令如下:

[xhtml] view plaincopy

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -j DNAT --to-destination 192.168.0.101
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -j SNAT --to 192.168.0.1

2.多对多流量完全DNAT

说是多对多,实际上这里的配置是指定了多个一对一

环境:

eth0 192.168.0.1  内网

eth1 202.202.202.1 、202.202.202.2 外网

内网中2台主机 192.168.0.101、192.168.0.102

现在要把外网访问202.202.202.1的所有流量映射到192.168.0.101上,同时把把外网访问202.202.202.2的所有流量映射到192.168.0.102上

这里顺便提一下如何为网卡配置多个IP

[c-sharp] view plaincopy

  1. ifconfig eth1:1 202.202.202.2 netmask 255.255.255.0 up

命令如下:

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -j DNAT --to-destination 192.168.0.101
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -j SNAT --to 192.168.0.1
  16. iptables -t nat -A PREROUTING -d 202.202.202.2 -j DNAT --to-destination 192.168.0.102
  17. iptables -t nat -A POSTROUTING -d 192.168.0.102 -j SNAT --to 192.168.0.1

3.一对多根据协议DNAT

这个最常用,一般是内网或DMZ区内有多个应用服务器,可以将不同的应用流量映射到不同的服务器上

环境:

eth0 192.168.0.1  内网

eth1 202.202.202.1  外网

内网中2台主机 192.168.0.101(Web服务器)、192.168.0.102(邮件服务器)

现在要把外网访问202.202.202.1的Web流量映射到192.168.0.101上,同时把把外网访问202.202.202.1的邮件访问流量映射到192.168.0.102上

命令如下:

  1. #将防火墙改为转发模式
  2. echo 1 > /proc/sys/net/ipv4/ip_forward
  3. iptables -F
  4. iptables -t nat -F
  5. iptables -t mangle -F
  6. iptables -X
  7. iptables -t nat -X
  8. iptables -t mangle -X
  9. iptables -A INPUT -i lo -j ACCEPT
  10. iptables -A OUTPUT -o lo -j ACCEPT
  11. iptables -P INPUT ACCEPT
  12. iptables -P OUTPUT ACCEPT
  13. iptables -P FORWARD ACCEPT
  14. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80
  15. iptables -t nat -A POSTROUTING -d 192.168.0.101 -p tcp --dport 80 -j SNAT --to 192.168.0.1
  16. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.102:25
  17. iptables -t nat -A POSTROUTING -d 192.168.0.102 -p tcp --dport 25 -j SNAT --to 192.168.0.1
  18. iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 110 -j DNAT --to-destination 192.168.0.102:110
  19. iptables -t nat -A POSTROUTING -d 192.168.0.102 -p tcp --dport 110 -j SNAT --to 192.168.0.1
时间: 2024-10-25 08:40:12

linux之iptable案例的相关文章

一次因NAS存储故障引起的Linux系统恢复案例

一. 故障现象描述 NAS操作系统内核为Linux,自带的存储有16块硬盘,总共分两组,每组做了RAID5,Linux操作系统无法正常启动,在服务启动到cups那里就停止了,按键ctrl+c强制断开也没有响应,查看硬盘状态,都是正常的,没有报警或者警告现象. 二. 问题判断思路 通过上面这些现象,首先判断NAS硬件应该没问题,NAS存储盘也应该正常,现在Linux无法启动,应该是Linux系统本身存在问题,因此,首先从Linux系统入手进行排查. 三. 问题处理过程 1.第一次处理过程 NAS系

Linux中Iptable防火墙规则的应用

在没有硬件防火墙的前提下,Linux系统也提供了很完善的防火墙策略Iptable,同样能胜任防火墙的策略,但由于规则负责的原因很少被使用.我总结一下iptable的使用方法. 通常防火墙策略配置文件所在的路径为/etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Wed Apr  8 13:50:49 2015 *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT

Linux 硬盘故障案例分享

本文主要分享下服务器中硬盘发生故障后/var/log/messages 和/var/log/mcelog中会出现的具体日志以及对应的修复方法,随着案例的不断增多和丰富,最后我会归纳形成自动化脚本. 当然其中会有很多硬盘有物理坏道,需要更换,这种就需要硬盘供应商去更换了,此处不在本文讨论范围. 服务器型号: HP SE1170s 硬盘型号: MB2000EAZNL 故障1: Jul 17 00:46:34 xxxxxxxxxxxxxx kernel: [8384801.159283] EXT4-f

Linux用户管理案例(第二版)

批量添加用户 1.按照/etc/passwd文件格式编写用户信息文件users.info xiaofang01::1001:503::/home/xiaofang01:/bin/bash  #注意不能有空行,不然会报错 2.newusers < users.info #newusers命令 导入用户信息文件 3.pwunconv #取消shadow password功能 4.以[用户名:密码]的格式编写密码文件passwd.info 5.chpasswd < passwd.info #导入密码

JMeter监控Linux服务器资源案例

JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况.JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况.这种情况只能监控Tomcat支持的资源使用部分. 本文主要来说一下如何通过JMeter插件来监控服务器CPU.内存.磁盘.网络等相关资源.JMeter 插件网址:http://jmeter-plugins.org/Perf Mon 插件 http://jmeter-plugins.org/wiki/PerfMon/ 1 服务本身:

linux之iptable

转自:http://seanlook.com/2014/02/23/iptables-understand/ 一. netfilter与iptables Netfilter是由Rusty Russell提出的Linux 2.4内核防火墙框架,该框架既简洁又灵活,可实现安全策略应用中的许多功能,如数据包过滤.数据包处理.地址伪装.透明代理.动态网络地址转换(Network Address Translation,NAT),以及基于用户及媒体访问控制(Media Access Control,MAC

Linux 关闭iptable防火墙

做为初学者使用Linux时都会关闭自带的防火墙. 下面是操作过程以Centos6.5为例: [[email protected] ~]# /etc/init.d/iptables stop         //关闭 iptables: Setting chains to policy ACCEPT: filter          [  OK  ] iptables: Flushing firewall rules:                         [  OK  ] iptabl

Linux系统故障处理案例(一)

运行环境:CentOS6.7 故障原因: 昨天在线执行命令yum -y update 在命令执行途中,强制中断并直接运行poweroff命令关机.再次开机出现如图所示故障指示: 根据提示信息分析,可能因为执行更新命令未完成导致系统内核信息混乱. 故障解决方案: 插入系统光盘,修改主板BIOS从光驱引导,进入Linux rescue模式进行系统修复. 选择OK后,系统会挂载到/mnt/sysimage路径,在rescure模式中,可用# chroot /mnt/sysimage来切换至此路径,这个

C++程序windows To linux移植经验案例

软件项目在实际部署的时候,当客户环境要求linux系统时,不可避免的需要将windows版本移植到linux系统中.下面来介绍linux系统下软件开发的基础及所遇到的问题. 1.Linux环境简介 Linux版本号:num.num.num 其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订版本号.如果次版本号是偶数,那么该内核就是稳定版的;若是奇数,则是开发版的.头两个数字合在一齐可以描述内核系列.如稳定版的2.6.4,它是2.6版内核系列. 1.2    Linux下应用软件 语