- 论坛徽章:
- 0
|
网络结构:
1,一台双网卡的linux主机充当网关(XXXX为公网静态IP,192.168.0.1为内网IP),用iptables做一些规则实现一些简单的应用
2,公司申请有自己的域名,
3,内网的一些机器通过网关上的nat上网,而另一些则被禁止上网
4,同时内网有一台机器192.168.0.100做为公司的邮件服务器,每一位员工都申请有一个邮箱帐号
我的原意是想让能上INTERNET的员工可以利用公司的邮箱帐号与外面的邮箱通信(如163邮箱等),而不能上网的员工不能与163等这些外部邮箱进行通信,只能在公司内部使用,
但现在的问题是不能上网的员工也能收(发)信给163或者sohu等外部邮箱,收是可以理解,但它连网都上不了居然也能发信出去,确实不太理解,请求帮助!
以下是我的/etc/rc.local文件的内容:
echo "1"> /proc/sys/net/ipv4/ip_forward
# Share the intranal user to connect internet
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j SNAT --to-source X.X.X.X
# 打开内网192.168.0.100这台邮件服务器的应用
iptables -t nat -A PREROUTING -d X.X.X.X -p tcp --dport 25 -j DNAT --to-destination 192.168.0.100:25
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 25 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.100 --dport 25 -j SNAT --to 192.168.0.1
iptables -t nat -A PREROUTING -d X.X.X.X -p tcp --dport 143 -j DNAT --to-destination 192.168.0.100:143
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 143 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.100 --dport 143 -j SNAT --to 192.168.0.1
#禁止这台机器上网
iptables -A FORWARD -m mac --mac 00-e0-4c-88-f3-a3 -j DROP
其中mac地址为00-e0-4c-88-f3-a3的这台机器被禁止上网,但它也能向INTERNET上的邮箱发邮件,怎样才能避免这种情况? |
|