公司iptables配置(eMule, nat, forward, input, output, state)

这里是公司目前iptables的配置(eth0是内网,eth1接ADSL): 
#  Generated by iptables-save v1.2.8 on Sun Nov 25 16:13:01 2007
* filter
: INPUT DROP [ 0 : 0 ]
: FORWARD  ACCEPT  [ 0 : 0 ]
: OUTPUT  ACCEPT  [ 0 : 0 ]
- A INPUT  - i ppp0  - p tcp  - m tcp  -- tcp - flags SYN , RST , ACK SYN  - j DROP
- A INPUT  - i lo  - ACCEPT
- A INPUT  - i eth0  - p tcp  - m tcp  -- dport  22   - ACCEPT
- A INPUT  - i eth0  - p tcp  - m tcp  -- dport  53   - ACCEPT
- A INPUT  - i eth0  - p udp  - m udp  -- dport  53   - ACCEPT
- A INPUT  - i eth0  - p tcp  - m tcp  -- dport  139   - ACCEPT
- A INPUT  - i eth0  - p tcp  - m tcp  -- dport  445   - ACCEPT
- A INPUT  - i eth0  - p tcp  - m tcp  -- dport  123   - ACCEPT
- A INPUT  - i eth0  - p udp  - m udp  -- dport  123   - ACCEPT
- A INPUT  - m state  -- state ESTABLISHED  - ACCEPT
- A OUTPUT  - o lo  - ACCEPT
- A OUTPUT  - p tcp  - m tcp  -- sport  22   - ACCEPT
- A OUTPUT  - p tcp  - m tcp  -- sport  53   - ACCEPT
- A OUTPUT  - p udp  - m udp  -- sport  53   - ACCEPT
- A OUTPUT  - p tcp  - m tcp  -- sport  139   - ACCEPT
- A OUTPUT  - p tcp  - m tcp  -- sport  445   - ACCEPT
- A OUTPUT  - p tcp  - m tcp  -- sport  123   - ACCEPT
- A OUTPUT  - p udp  - m udp  -- sport  123   - ACCEPT
COMMIT
#  Completed on Sun Nov 25 16:13:01 2007
# Generated by iptables-save v1.2.8 on Sun Nov 25 16:13:01 2007

* nat
: PREROUTING  ACCEPT  [ 3 : 162 ]
: POSTROUTING  ACCEPT  [ 1 : 108 ]
: OUTPUT  ACCEPT  [ 1 : 108 ]
- A PREROUTING  - i ppp0  - p tcp  - m tcp  -- dport  7559   - j DNAT  -- to - destination  192.168 . 0.10 : 7559
- A PREROUTING  - i ppp0  - p udp  - m udp  -- dport  7569   - j DNAT  -- to - destination  192.168 . 0.10 : 7569
- A PREROUTING  - i ppp0  - p tcp  - m tcp  -- dport  28145   - j DNAT  -- to - destination  192.168 . 0.10 : 28145
- A PREROUTING  - i ppp0  - p udp  - m udp  -- dport  28145   - j DNAT  -- to - destination  192.168 . 0.10 : 28145
- A POSTROUTING  - 192.168 . 0.0 / 255.255 . 255.0   - o ppp0  - j MASQUERADE
COMMIT
#  Completed on Sun Nov 25 16:13:01 2007

 


这份配置中,配置了nat,eMule,还有forward,input等,这些都不说了,很好理解,关键有一句: 

-A INPUT -m state --state ESTABLISHED -j ACCEPT 

这句很重要,如果不加这句,路由本机就无法上网,甚至无法访问内网。因为我们在路由本机上加了INPUT的限制,而且由于-P INPUT DROP这一句,我们把默认的没有定义的所有INPUT类型的包全部丢弃,所以产生的问题是,本机如果要访问内网的一台机器,或是外网的一台机器,那么OUTPUT没有问题,问题是别人的数据返回的时候,是INPUT类型的包,这种包就会被DROP,这就导致了路由本机无法上网,甚至无法访问内网的问题。 

所以,这里加了这么一句,非常有用,指的就是如果是已经ESTABLISHED的链接,那么INPUT一概放行。 

其实本来不用加这句,因为路由本机很少我们直接上去操作,但是后来公司架设了一个DNS服务器,这样所有的服务器就不用维护本机的/etc/hosts了,改成向DNS服务器取解析信息,所以,当局域网内的机器访问路由机器的时候,路由机器就会向DNS服务器要局域网内机器的IP和主机名信息,此时,如果没有这样一个配置,那么路由机器是无法访问到DNS服务器的(DNS服务器也是内网的一台机器),这样就直接导致了局域网内机器访问路由机器非常非常的慢(公司的路由机器开了samba服务),所以,这个配置是必须的。 

其他的代码都很好理解。对lo的两句配置是放开对127.0.0.1的访问。 

 

记得,要使用iptables做网关,记得把 

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

放到/etc/rc.local中

你可能感兴趣的:(iptables)