用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
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页