实现功能:
1.指定入站端口限制
2.丢弃非法syn包
3.透明代理,透明DNS
4.客户端IP与MAC地址绑定
5.出入邮件扫描
6.端口转发
1.指定入站端口限制
2.丢弃非法syn包
3.透明代理,透明DNS
4.客户端IP与MAC地址绑定
5.出入邮件扫描
6.端口转发
echo 1 > /proc/sys/net/ipv4/ip_forward ##开启ip转发
/sbin/iptables -F -t filter ##清空规则
/sbin/iptables -F -t nat ##清空NAT规则
/sbin/iptables -P INPUT DROP ##默认入站策略为丢弃
/sbin/iptables -P OUTPUT ACCEPT ##默认出站策略为允许
/sbin/iptables -P FORWARD DROP ##默认转发策略为丢弃
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT #ICMP限速
/sbin/iptables -A INPUT -p udp -m multiport --ports 53,161 -j ACCEPT ##允许入站UDP端口53,161
/sbin/iptables -A INPUT -p tcp -m multiport --ports 22,80,8080,8110 -j ACCEPT ##允许入站TCP端口22,80,8080,8110
/sbin/iptables -A INPUT -p tcp --syn -m ttl --ttl-eq 117 -j DROP
/sbin/iptables -A INPUT -p tcp --syn -m length --length :40 -j DROP
/sbin/iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP ##丢掉sys非法连接
/sbin/iptables -A FORWARD -s 192.168.0.5 -m mac --mac-source ! 00:11:22:33:44:55 -j DROP ##客户端MAC与IP绑定
/sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT ##允许网段为192.168.0.0/24通过转发链
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE ##IP伪装
#/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to xxx.xxx.xxx.xxx #如果网关是固定IP的IP伪装
#/sbin/iptables -t nat -A PREROUTING -p tcp -d xxx.xxx.xxx.xxx --dport 3389 -j DNAT --to-destination 192.168.0.106:3389
###端口转发
/sbin/iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 53 #透明DNS
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080 ##透明代理服务
/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport --dport 25,110,995 -j REDIRECT --to-port 8110 #客户端邮件请求(通过TCP 25端口发送/110端口接收/995接收)都经过网关的8110的过滤程序(p3scan)再返回给客户端
本文出自 51CTO.COM技术博客
/sbin/iptables -F -t filter ##清空规则
/sbin/iptables -F -t nat ##清空NAT规则
/sbin/iptables -P INPUT DROP ##默认入站策略为丢弃
/sbin/iptables -P OUTPUT ACCEPT ##默认出站策略为允许
/sbin/iptables -P FORWARD DROP ##默认转发策略为丢弃
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT #ICMP限速
/sbin/iptables -A INPUT -p udp -m multiport --ports 53,161 -j ACCEPT ##允许入站UDP端口53,161
/sbin/iptables -A INPUT -p tcp -m multiport --ports 22,80,8080,8110 -j ACCEPT ##允许入站TCP端口22,80,8080,8110
/sbin/iptables -A INPUT -p tcp --syn -m ttl --ttl-eq 117 -j DROP
/sbin/iptables -A INPUT -p tcp --syn -m length --length :40 -j DROP
/sbin/iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP ##丢掉sys非法连接
/sbin/iptables -A FORWARD -s 192.168.0.5 -m mac --mac-source ! 00:11:22:33:44:55 -j DROP ##客户端MAC与IP绑定
/sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT ##允许网段为192.168.0.0/24通过转发链
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE ##IP伪装
#/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to xxx.xxx.xxx.xxx #如果网关是固定IP的IP伪装
#/sbin/iptables -t nat -A PREROUTING -p tcp -d xxx.xxx.xxx.xxx --dport 3389 -j DNAT --to-destination 192.168.0.106:3389
###端口转发
/sbin/iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 53 #透明DNS
/sbin/iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080 ##透明代理服务
/sbin/iptables -t nat -A PREROUTING -p tcp -m multiport --dport 25,110,995 -j REDIRECT --to-port 8110 #客户端邮件请求(通过TCP 25端口发送/110端口接收/995接收)都经过网关的8110的过滤程序(p3scan)再返回给客户端
转载于:https://blog.51cto.com/yaozefeng/292957