免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1356 | 回复: 0
打印 上一主题 下一主题

linux 防火墙 iptables [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-06 16:47 |只看该作者 |倒序浏览

防火牆的分類
防火牆大概可以分為以下三種:


  • 封包過濾式 (Packet Filtering Firewall):作用在IP層及傳輸層的過濾方式

  • 閘道式:如 NAT

  • 代理式:僅針對特定的服務做交換,如 DMZ

網路拓樸

基礎網路協定認識 常見的協定:

  • TCP:三向交握


  • UDP
  • ICMP

iptabels manpages man iptables
架構圖

指令結構圖

iptables  新增(刪除)鏈    比對的條件    -j  接受(丟棄)
iptables的比對流程圖

規則的建立(刪除)

  • -A: Append, 新增
  • -D: Delete, 刪除
  • -I: Insert, 新增至最前面
  • -L: List, 列出
  • -F: Flush, 清空
  • -Z: Zero, 計數歸零

比對成功,對它做...

  • -j TARGET
  • TARGET:

    • ACCEPT: 接受
    • DROP: 丟棄
    • REJECT: 回傳帶錯誤訊息,然後丟棄此封包
    • DNAT: 修改目的位址或連接埠,僅適用在 nat table 中的 PREROUTING, OUTPUT
    • MASQUERADE: IP偽裝,僅適用在 nat table 中的 POSTROUTING
    • REDIRECT: 修改目的位址為本機,且修改連接埠,僅適用在 nat table 中的 PREROUTING, OUTPUT
    • MARK: 設定 mark 值,僅適用在 mangle table;通常搭配 iproute2 使用(QoS、路由導向等)

一般範例 # flush the iptable rules
iptables -F
iptables -Z
iptables -A INPUT -i lo -j ACCEPT
### IP Rule ##
iptables -A INPUT -s 210.240.172.81  -j ACCEPT
## UDP Rule ##
iptables -A INPUT -p udp --sport 53 -j ACCEPT
## TCP Rule ##
iptables -A INPUT -p tcp -m multiport --destination-ports 22,21,80,110 --syn -j ACCEPT
iptables -A INPUT -p tcp -s 210.240.172.0/24 --dport 25 --syn                    -j ACCEPT
# other
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p udp         -j DROP
iptables -A INPUT -p icmp        -j DROP
NAT範例 depmod -a
modprobe -a iptable_nat
modprobe ip_conntrack_irc
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe iptable_filter
## 啟用 IP_FORWARD 功能
echo 1     > /proc/sys/net/ipv4/ip_forward
## 下面三行是針對內部主機連線的調整
echo 81920 > /proc/sys/net/ipv4/ip_conntrack_max
echo 600    > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
echo 1       > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# flush the iptables rules
iptables -F
iptables -t nat -F
## 針對連線至此主機
iptables -A INPUT -i eth0 -s 192.168.172.0/24 -p tcp --dport 22 --syn -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 80 --syn                             -j ACCEPT
# 其餘丟棄
iptables -A INPUT -p tcp --syn -j DROP
iptables -A INPUT -p udp         -j DROP
## 底下是針對內部的 IP
# 針對 FORWARD chain
iptables -A FORWARD -i eth1 -d ! 210.240.172.137 -p tcp --dport 25  -j DROP
iptables -A FORWARD -i eth1 -s 192.168.0.0/16 -d 192.168.0.0/16     -j DROP
# 導向其他主機
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 192.168.111.254 -j DNAT --to-destination 192.168.111.253
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 192.168.111.254 -j REDIRECT --to-ports 80
# IP 偽裝
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.111.0/24 -j MASQUERADE
其他有趣的範例1. 封包數限制:
iptables -A INPUT -p icmp -m limit --limit 1/s  --limit-burst 1 -j ACCEPT
iptables -A INPUT -p icmp -j DROP
2. QoS、路由導向
iptables -A PREROUTING -i eth2 -t mangle -p tcp --dport 25  -j MARK --set-mark 20
## QoS
tc qdisc  del dev eth2 root 2> /dev/null
tc qdisc  add dev eth2 root handle 10: htb default 10
tc class  add dev eth2 parent 10:   classid 10:1  htb rate 100kbps ceil 100kbps
tc class  add dev eth2 parent 10:1  classid 10:10 htb rate 10kbps  ceil 100kbps prio 2
tc class  add dev eth2 parent 10:1  classid 10:20 htb rate 10kbps  ceil  80kbps prio 3
tc qdisc  add dev eth2 parent 10:10 handle  101:  pfifo
tc qdisc  add dev eth2 parent 10:20 handle  102:  pfifo
tc filter add dev eth2 parent 10: protocol ip prio 100 handle 10 fw classid 10:10
tc filter add dev eth2 parent 10: protocol ip prio 100 handle 20 fw classid 10:20
## 路由導向
echo 202 anti.virus.forti >> /etc/iproute2/rt_tables
ip rule add fwmark 20 table anti.virus.forti
#ip route add default via 192.168.99.201 dev eth1 table anti.virus.forti
3. L7-filter
## 來源:http://l7-filter.sourceforge.net/
## 需重新編譯核心
iptables -A FORWARD -s 210.240.0.0/255.255.0.0 -i eth1 -m layer7 --l7proto bittorrent -j DROP
iptables -A FORWARD -s 210.240.0.0/255.255.0.0 -i eth1 -m layer7 --l7proto edonkey -j DROP
參考來源


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/100089/showart_1987640.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP