• RSS订阅
  • 交换链接
  • 首页

Jeffrey’s Blog

Web&P2P系统架构及优化


iptables学习笔记

September 12th, 2007

作者: Jeffrey
出处:http://blog.zhangjianfeng.com/?p=632

++基本
modprobe ip_nat_ftp
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #服务器禁ping
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -p tcp –dport 22 -j ACCEPT #eth1为内网卡
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
iptables -vnL [-t nat] #查看

++内网PC实现NAT上网
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to 1.1.1.1 # 将内网192.168.0.0/24 的原地址修改为1.1.1.1(假设是公网地址),用于NAT上网
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE #将源地址是192.168.0.0/24 的数据包进行地址伪装,动态出口IP用-j MASQUERADE

++内网如何做对外服务器
/sbin/iptables -t nat -A PREROUTING -d 211.162.xxx.xxx -p tcp –dport 80 -j DNAT –to 192.168.0.3
/sbin/iptables -t nat -A POSTROUTING -d 192.168.0.3 -p tcp –dport 80 -j SNAT –to 192.168.0.1
#211.162是公网IP,192.168.0.3是后端某WEB服务器,192.168.0.1是网关

iptables -t nat -A PREROUTING -d 202.110.123.100 -p tcp –dport 80 -j DNAT –to 192.168.1.1 #映射80端口至内网,adsl
iptables -t nat -A PREROUTING -d 202.110.123.100 -p tcp –dport 81 -j DNAT –to 192.168.1.2:80 #adsl

#iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 80 -j DNAT –to 192.168.1.1 #映射80端口至内网,adsl
#iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 81 -j DNAT –to 192.168.1.2:80 #adsl

++有DMZ和办公网段时,需要限制DMZ不能访问办公网段
iptables -A FORWARD -i eth2 -o eth1 -m state –state NEW -j DROP #eth2为连接DMZ网卡,eth1为接办公网段卡

++内网PC出口IP指定
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.100 -j SNAT –to 202.110.123.100
#对防火墙接收到的源ip地址为192.168.1.100的数据包进行源NAT(SNAT),以使其出口为202.110.123.100,eth1为外网口

++本机访问策略
iptables -A FORWARD -p tcp –dport xxx -j ACCEPT
iptables -A FORWARD -p tcp –dport yyy:zzz -j ACCEPT
iptables -A FORWARD -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -P FORWARD DROP

++如何限制内网用户
iptables -A FORWARD -s 192.168.0.3 -j DROP #限制来源是192.168.0.3的用户
iptables -A FORWARD -m mac –mac-source 11:22:33:44:55:66 -j DROP #限制MAC地址
iptables -A FORWARD -d bbs.chinaunix.net -j DROP #限制访问目标网站

++FTP协议传输
主动模式(ACTIVE)
client server
xxxx |—-|———-|—>| 21
yyyy|<—|———-|—-| 20
FW1 FW2
被动模式(PASSIVE)
client server
xxxx |—-|———-|—>| 21
yyyy|—-|———-|—>| zzzz
FW1 FW2
modprobe ip_nat_ftp
iptables -t nat -A PREROUTING -p tcp –dport 21 -j DNAT –to 192.168.0.132
iptables -t nat -A PREROUTING -p tcp –dport 9900:9999 -j DNAT –to 192.168.0.132
附:vsftpd定义passive端口范围
pasv_enable=YES
pasv_min_port=9900
pasv_max_port=9999

++使用总则
£ 所有链名必须大写 INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING
£ 所有表名必须小写 filter/nat/mangle
£ 所有动作必须大写 ACCEPT/DROP/SNAT/DNAT/MASQUERADE
£ 所有匹配必须小写 -s/-d/-m <module_name>/-p

++其它
iptables-save [ > /etc/sysconfig/iptables ] #保存现有配置,也可以查看现有配置
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #按包状态匹配
iptables -A FORWARD -m mac –mac-source xx:xx:xx:xx:xx:xx -j DROP #阻断来自某MAC 地址的数据包,通过本机
iptables -A INPUT -p tcp -m multiport –dports 21,22,25,80,110 -j ACCEPT #一次性匹配多个端口,可以区分源端口,目的端口或不指定端口,必须与-p 参数一起使用

++防syn-flooding
iptables -A INPUT -p tcp –syn -m limit –limit 1/s -j ACCEPT
# –limit 1/s 限制syn并发数每秒1次,根据自己的需要修改
#也可将/proc/sys/net/ipv4/tcp_syncookies设1

++允许PING
iptables -A INPUT -p icmp -m icmp –icmp-type 8

++一个端口转发例
echo “1″ > /proc/sys/net/ipv4/ip_forward
iptables -F -t filter
iptables -F -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
# ALLOW ALL in PRIVATE NET
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
# FORWARD
iptables -A FORWARD -p tcp -d 192.168.3.153 –dport 80 -j ACCEPT
iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
# PAT
iptables -t nat -A PREROUTING -d 202.102.24.33 -p tcp –dport 8888 -j DNAT –to 192.168.3.153:22
iptables -t nat -A POSTROUTING -d 192.168.3.153 -p tcp –dport 22 -j SNAT –to 192.168.3.254:8888
# NAT
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j MASQUERADE

Last modified at: Monday, January 28th, 2008 07:16:01 pm
Trackback URL: http://blog.zhangjianfeng.com/article/632/trackback

给本文打分: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
Tags: iptables, 学习, 笔记
2007/09/12 | 阅读全文 | 电脑网络, 系统管理 | Email This Post | Print This Post | 1,760 views |
收藏到网摘: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

Related Post

  • Saturday, December 22nd, 2007 -- suse 学习笔记
  • Wednesday, June 6th, 2007 -- oracle学习笔记
  • Monday, April 16th, 2007 -- Legato networker学习笔记(杂)
  • Wednesday, February 7th, 2007 -- sed学习笔记
  • Monday, February 5th, 2007 -- squid安装配置笔记(反向代理)
  • Saturday, December 23rd, 2006 -- apache学习笔记
  • Friday, December 22nd, 2006 -- FreeBSD6.1学习笔记
  • Thursday, July 20th, 2006 -- DNS与BIND学习笔记
  • Tuesday, June 24th, 2008 -- oracle一次数据迁移笔记
  • Friday, June 6th, 2008 -- xen安装及配置笔记

6 Responses to “iptables学习笔记”


  1. 1火狐

    不错就是有点难,收藏慢慢看 :em11:

    Comment on Sep 21st, 2007 at 11:24 pm  

Leave a Reply

  • :em04:
  • :em18:
  • :em17:
  • :em10:
  • :em01:
  • :em05:
  • :em15:
  • :em07:
  • :em03:
  • :em13:
  • :em09:
  • :em12:
  • :em11:
  • :em06:
  • :em16:
  • :em14:
  • :em02:
  • :em08:

« 服务器老手谈WEB服务器如何选用配件
Optimizing host.conf and sysctl.conf »

    最新文章

    • Subversion的用户自助修改口令实现(linux测试通过)
    • SLES10-SP1+Apache-2.0.63+SVN-1.4.6安装配置笔记
    • [音乐欣赏]A place nearby
    • 不错的firefox插件---鼠标手势mouse gestures
    • 一些相克食品
    • oracle一次数据迁移笔记
    • 不错的vi-vim键盘图(中英文双版)
    • xen安装及配置笔记
    • Multiple network cards and bridges in Xen[zz]
    • 从LiveJournal后台发展看大规模网站性能优化方法[zz]

    评分最高文章

      • 今天下载的一个CHM文件,打开时右边的内容看不到,提示“该页无法显示”。
      • linux日志服务器配置笔记
      • Legato networker学习笔记(杂)
      • linux tips 技巧笔记
      • [BT下载]2006韩剧-葡萄园的那小伙儿
      • 我家的金吉拉
      • 卡巴斯基病毒库离线更新方法
      • 忽悠姐妹花主题曲下载
      • 轻轻松松把 Apache 配置安全
      • 北京IDC机房介绍

    随机文章:

    • REDHAT系统BONDING网卡完成冗余的方法
    • 一张有意思的照片,来自网络.
    • 引导加载程序之争:了解 LILO 和 GRUB
    • 常用英文缩写
    • 测试网络吞吐量的软件
    • 一个统计DNS查询的小工具(DNSTOP)
    • 如何通过PXE的方式远程安装linux(本地无 光 , 软驱)
    • DNS与BIND学习笔记
    • Legato Networker备份系统维护(上)(zz)
    • Exchange中增加其它后缀地址

    最新评论

    • very good :em02: ,I like very much !!...
    • :em03: :em13: :em15: :em07...
    • 北京电信通有四个机房1惠普机房 2中...
    • :em04: :em18: :em17...
    • 结婚的好日子啊8月10...
    • c2950-1-1(config)# snmp-server trap-source FastEt...
    • :em16: :em16: :em16: :em16: :em16: :em16: :...
    • :em01: :em07: :em04: :em17: :em10: :em18: :...
    • 我是天称座 :em14: :em15: :em03: :em02: :...
    • [...] 前面一段:1.3.6.1.4.1. 可以查看这...


    邮件订阅  
  • Categories

    • 个人日志 (15)
    • 休闲娱乐 (79)
    • 应用服务 (86)
    • 影音娱乐 (10)
    • 电脑网络 (78)
    • 站点日志 (19)
    • 系统管理 (242)
    • 英语学习 (15)
    • 衣食住行 (41)
    • 资料共享 (28)
  • 工具网址

    • 天气预报
    • 常用电话
    • 疾病查询
    • 在线翻译
    • Alexa排名查询
    • IP信息查询
    • 邮箱图标生成
    • 我的Firefox插件
  • 友情链接

    • linuxの飘扬
    • winter的平凡生活
    • 伤感星星的天空
    • 回忆未来[张宴]
    • 存储部落
    • 扶凯Blog
    • 沐宇春风
    • 爱MySQL中文网
    • 狗.车.志
    • 非礼勿视
  • Tags

    • 下载 优化 使用 免费 北京 升级 学习 学习笔记 安装 工具 技巧 日志 最新 服务器 笔记 英语学习 菜谱 视频 解决 调优 软件 运程 配置 配置文件 食物 2007 apache blog dreamhost freebsd Legato linux mysql networker oracle php RAID5 RedHat sendmail shell squid suse Ubuntu windows wordpress

Jeffrey's Blog is powered by WordPress 2.3.1 and Unnamed 1.22
Entries (RSS) and Comments (RSS) Admin 京ICP备06038449号

Podcast Powered by podPress (v8.8)