1. 程式人生 > >一個簡單的防火墻(iptables)實例

一個簡單的防火墻(iptables)實例

dnat drop out bin war _for 轉換 其他 lis

#!/bin/bash
#
#for centos7 iptables table
#
#yum install iptables-services -y
#
#
#規則的排列是有順序的
#
#清除默認規則

iptables -F
iptables -X
iptables -Z

#設置策略

iptables -P INPUT DROP
#iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#定制規則
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 10.44.148.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.51.177.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.51.181.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.44.148.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.51.179.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.44.167.0/21 -j ACCEPT
iptables -A INPUT -i eth0 -s 10.44.200.0/21 -j ACCEPT

#eth1定制規則
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 52113 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 21 -j ACCEPT
#mysql
iptables -A INPUT -i eth1 -p tcp --dport 3306 -j ACCEPT
#redis
iptables -A INPUT -i eth1 -p tcp --dport 6380 -j ACCEPT
#mongodb


iptables -A INPUT -i eth1 -p tcp --dport 27017 -j ACCEPT
#svn
iptables -A INPUT -i eth1 -p tcp --dport 3690 -j ACCEPT
#address
iptables -A INPUT -i eth1 -p tcp --dport 7070 -j ACCEPT
#admin117
iptables -A INPUT -i eth1 -p tcp --dport 7474 -j ACCEPT
#bigscreen
iptables -A INPUT -i eth1 -p tcp --dport 9999 -j ACCEPT
#bss

iptables -A INPUT -i eth1 -p tcp --dport 9191 -j ACCEPT
#callcenter
iptables -A INPUT -i eth1 -p tcp --dport 7171 -j ACCEPT
#employee
iptables -A INPUT -i eth1 -p tcp --dport 9292 -j ACCEPT
#jenkins
iptables -A INPUT -i eth1 -p tcp --dport 9595 -j ACCEPT
#mobile
iptables -A INPUT -i eth1 -p tcp --dport 9393 -j ACCEPT
#oa
iptables -A INPUT -i eth1 -p tcp --dport 9494 -j ACCEPT
#選址分析
iptables -A INPUT -i eth1 -p tcp --dport 7373 -j ACCEPT
#mysql-tool
iptables -A INPUT -i eth1 -p tcp --dport 9797 -j ACCEPT
#universiyt
iptables -A INPUT -i eth1 -p tcp --dport 9696 -j ACCEPT
#university_test
iptables -A INPUT -i eth1 -p tcp --dport 7272 -j ACCEPT


iptables -A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
#iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

#NAT規則

#次規則只需在NAT服務器上配置,其他內網機指定網關(gateway)為此內網IP

#清除NAT table 的規則

#iptables -F -t nat
#iptables -X -t nat
#iptables -Z -t nat
#iptables -t nat -P PREROUTING ACCEPT
#iptables -t nat -P POSTROUTING ACCEPT
#iptables -t nat -P OUTPUT ACCEPT

#iptables -A INPUT -i eth1 -j ACCEPT
#echo "0" > /proc/sys/net/ipv4/ip_forward


#把收到的所有數據包SNAT成101.200.177.83發出去

#iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 101.200.177.83
#iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 101.200.177.83


#DNAT轉換,公網IP 在eth0    內網IP 192.168.1.10(註意內網防火墻)

#iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 13306 -j DNAT --to-destination 10.51.177.139:3306
#iptables -t nat -A PREROUTING -i eth1 -d 101.200.177.83 -p tcp --dport 13306 -j DNAT --to-destination 115.28.134.12:3306


#寫入防火墻規則
#/etc/init.d/iptables save
#/usr/libexec/iptables/iptables.init save
service iptables save

一個簡單的防火墻(iptables)實例