[root@rhel5 ~]# iptables -A FORWARD -p tcp --dport 25 -j ACCEPT pop3:
[root@rhel5 ~]# iptables -A FORWARD -p tcp --dport 110 -j ACCEPT
[root@rhel5 ~]# iptables -A FORWARD -p udp --dport 110 -j ACCEPT imap:
[root@rhel5 ~]# iptables -A FORWARD -p tcp --dport 143 -j ACCEPT
[root@rhel5 ~]# iptables -A FORWARD -p udp --dport 143 -j ACCEPT imaps:
[root@rhel5 ~]# iptables -A FORWARD -p tcp --dport 993 -j ACCEPT
[root@rhel5 ~]# iptables -A FORWARD -p udp --dport 993 -j ACCEPT pop3s:
[root@rhel5 ~]# iptables -A FORWARD -p tcp --dport 995 -j ACCEPT
[root@rhel5 ~]# iptables -A FORWARD -p udp --dport 995 -j ACCEPT 9、NAT端口映射设置 由于局域网的地址为私网地址,在公网上不合法哈~所以必须将私网地址转为服务器的外部地址进行地址映射哈~连接外网接口为ppp0 iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE MASQUERADE和SNAT作用一样哈~相样是提供源地址转换的操作,但是MASQUERADE是针对外部接口为动态IP地址来设置滴,不需要使用--to-source指定转换的IP地址。如果网络采用的是拨号方式接入互联网,而没有对外的静态IP地址(主要用在动态获取IP地址的连接,比如ADSL拨号、DHCP连接等等),那么建议使用MASQUERADE哈~ 注意:MASQUERADE是特殊的过滤规则,其只可以映射从一个接口到另一个接口的数据哈~ 10、内网机器对外发布WEB网站 内网WEB服务器IP地址为192.168.0.3,我们需要进行如下配置哈~,当公网客户端访问服务器时,防火墙将请求映射到内网的192.168.0.3的80端口 iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80 11、保存与恢复iptables配置 保存:iptables-save iptables-save [-c] [-t 表名] -c:保存包和字节计数器的值。可以使在重启防火墙后不丢失对包和字节的统计 -t:用来保存哪张表的规则,如果不跟-t参数则保存所有的表 可以使用重定向命令来保存这些规则集 iptables-save > /etc/iptables-save 恢复:iptables-restore iptables-restore [-c] [-n] -c:如果加上-c参数则表示要求装入包和字节计数器 -n:表示不覆盖己有的表或表内的规则,默认情况下是清除所有己存在的规则 使用重定向来恢复由iptables-save保存的规则集 iptables-restore > /etc/iptables-save 如果要在服务或系统重启后依然生效 service iptables save 12、最终iptables配置如下
[root@rhel5 ~]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp dpt:ssh Chain FORWARD (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:msnp ACCEPT tcp -- anywhere anywhere tcp dpt:https ACCEPT tcp -- anywhere anywhere tcp dpt:irdmi ACCEPT udp -- anywhere anywhere udp dpt:irdmi ACCEPT udp -- anywhere anywhere udp dpt:terabase ACCEPT tcp -- anywhere anywhere tcp dpt:smtp ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT udp -- anywhere anywhere udp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:imap ACCEPT udp -- anywhere anywhere udp dpt:imap ACCEPT tcp -- anywhere anywhere tcp dpt:imaps ACCEPT udp -- anywhere anywhere udp dpt:imaps ACCEPT tcp -- anywhere anywhere tcp dpt:pop3s ACCEPT udp -- anywhere anywhere udp dpt:pop3s Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@rhel5 ~]# iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp -- anywhere anywhere tcp dpt:http to:192.168.0.3:80 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 192.168.0.0/24 anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@rhel5 ~]# |
本文出自 “王乾De技术博客” 博客,谢绝转载!