这份配置中,配置了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配置的全过程,希望对大家有帮助!


相关内容