快捷搜索:   nginx

用Iptables实现简单的上网和过滤

我们要做的是简单的转址(NAT)和过滤(FILTER)

  假定你的网络如下:

  -----------------------------------

  [internet]

  |

  |

  [主机]

  |

  |

  [HUB交换机]

  | |

  | |

  [内网机器] [].....

  ------------------------------------

  其中:主机对外IP为1.2.3.4(eth0), 对内192.168.0.1(eth1), 内网为192.168.8.0/24

  一、设定LINUX主机,使内网其它机器通过这台主机上网

  如果主机是拨号上网:

  #iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

  如果主机通过实体IP上网:

  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

  echo 1 > /proc/sys/net/ipv4/ip_forward

  二、设定LINUX主机,限制内部对外部的访问,和外部对内部的访问

  # 我们用最常用的策略,先关闭一切,然后打开必要的,再然后用什么打开什么iptables -P FORWARD DROP;

  iptables -A FORWARD -f -j ACCEPT;

  iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT;

  # 内到外,我们只让他们通过浏览器上网

  iptables -A FORWARD -p tcp --dport www -i eth1 -0 eth0 -j ACCEPT

  # 迫于“压力”,又开放了MSN

  IPTABLES -A FORWARD -p TCP --dport 1863 -j ACCEPT

  IPTABLES -A FORWARD -p TCP --dport 7801:7825 -j ACCEPT

  IPTABLES -A FORWARD -p TCP --dport 6891:6900 -j ACCEPT

  iptables -A FORWARD -d 64.4.13.0/24 -j ACCEPT

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论