科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道简释iptables防火墙(3)

简释iptables防火墙(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一般LINUX防火墙(iptalbes)的运用无非是用nat 表(PREROUTING、OUTPUT、POSTROUTING)和filter表 (FORWARD、INPUT、OUTPUT)。我们只有知道了数据的流向才能正确的配置防火墙。

作者:51CTO.COM 2007年11月9日

关键字: 局域网 防火墙 iptables NAT

  • 评论
  • 分享微博
  • 分享邮件

  公网访问 http://218.100.100.111时:(假设公网上用户的IP为199.199.199.199,端口12345为随机的产生的。)

  数据源 : ip:199.199.199.199 sport:12345

  数据目标: ip:218.100.100.111 dport 80

  此时,通过-A PREROUTING –i eth0 –p tcp –d 218.100.100.111 --dport 80 –j DNAT --to-destination 192.168.5.179:80 告诉 199.199.199.199,您要访问的真正地址应该是192.168.5.179:80,然后我们通过-A POSTROUTING –p tcp --dport 80 –j ACCEPT 目标地址 218.100.100.111:80伪装成 192.168.5.179:80 。

  数据源 : ip:199.199.199.199 sport:12345

  数据目标: ip:192.168.5.179 dport 80

  当192.168.5.179返回数据时:

  数据源 : ip:192.168.5.179 sport:80

  数据目标: ip:199.199.199.199 dport 12345

  数据经过 -A POSTROUTING –s 192.168.5.0/24 –j SNAT –to 218.100.100.111 后,

  数据源 : ip:218.100.100.111 sport:80

  数据目标: ip:199.199.199.199 dport 12345

  6、 完整的iptables配置

  ###########################################################################

  *nat

  ################################

  :PREROUTING DROP [0:0]

  :OUTPUT DROP [0:0]

  :POSTROUTING DROP [0:0]

  ################################

  -F

  -Z

  -X

  -A PREROUTING –i eth0 –p tcp –d 218.100.100.111 --dport 80 –j DNAT --to-destination 192.168.5.179:80

  -A PREROUTING –i eth1 –p tcp –d 218.100.100.111 --dport 80 –j DNAT –to-destination 192.168.5.179:80

  -A PREROUTING –p tcp --dport 80 –j ACCEPT

  -A PREROUTING –p udp --dport 53 –j ACCEPT

  -A PREROUTING –p tcp --dport 22 –j ACCEPT

  -A PREROUTING –p tcp --dport 1863 –j ACCEPT

  -A PREROUTING –p tcp --dport 443 –j ACCEPT

  -A PREROUTING –p tcp --dport 8000 –j ACCEPT

  -A PREROUTING –p udp --dport 8000 –j ACCEPT

  -A PREROUTING –p udp --dport 4000 –j ACCEPT

  -A PREROUTING –p tcp --dport 110 –j ACCEPT

  -A PREROUTING –p tcp --dport 25 –j ACCEPT

  -A POSTROUTING –s 192.168.5.0/24 –j SNAT –to 218.100.100.111

  -A POSTROUTING –o eth1 –s 0/0 –j SNAT –to 192.168.5.1

  -L –v

  COMMIT

  ################################################

  *filter

  ##############################

  :INPUT DROP [0:0]

  :FORWARD DROP [0:0]

  :OUTPUT DROP [0:0]

  ##############################

  -F

  -Z

  -X

  -A INPUT –p tcp --dport 22 –j ACCEPT

  -A OUTPUT –p tcp --sport 22 –j ACCEPT

  -A FORWARD –p tcp --dport 80 –j ACCEPT

  -A FORWARD –p tcp --sport 80 –j ACCEPT

  -A FORWARD –p udp --dport 53 –j ACCEPT

  -A FORWARD –p udp --sport 53 –j ACCEPT

  -A FORWARD –p tcp --dport 1863 –j ACCEPT

  -A FORWARD –p tcp --sport 1863 –j ACCEPT

  -A FORWARD –p tcp --dport 443 –j ACCEPT

  -A FORWARD –p tcp --sport 443 –j ACCEPT

  -A FORWARD –p tcp --dport 8000 –j ACCEPT

  -A FORWARD –p tcp --sport 8000 –j ACCEPT

  -A FORWARD –p udp --dport 8000 –j ACCEPT

  -A FORWARD –p udp --sport 8000 –j ACCEPT

  -A FORWARD –p udp --dport 4000 –j ACCEPT

  -A FORWARD –p udp --sport 4000 –j ACCEPT

  -A FORWARD –p tcp --dport 110 –j ACCEPT

  -A FORWARD –p tcp --sport 110 –j ACCEPT

  -A FORWARD –p tcp --dport 25 –j ACCEPT

  -A FORWARD –p tcp --sport 25 –j ACCEPT

  -L –v

  COMMIT

  ##########################################################################

  7、 其它注意事项

  1)在使用iptables防火墙之前,必须先打开IP转发功能。

  # echo “1” >/proc/sys/net/ipv4/ip_forward

  2)以上内容(第6步生成的内容)保存到 /etc/sysconfig/iptables文件中。

  3)每修改一次iptables文件后,都要重启iptalbes

  # service iptables restart

  以上就是我对iptables的初浅理解,里面的语句已在RedHat 9.0上测试通过。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章