- 企业当中用iptables实现路由器或防火墙
- 企业当中用linux作为服务器操作系统
- IDC机房中的服务器。
- 成本低。用公司里淘汰的电脑做一台路由器,节省开支。
- 速度快。转发效率高。
- 功能强大:可以做包过滤,可以做nat转换,可以减轻DOS攻击等等。

实验脚本1 2.编辑一脚本文件 [root@localhost]#vi /bin/firewall.sh 文件内容如下:
#!/bin/bash echo "Starting iptables rules..." //显示启动iptables信息
echo "1" > /proc/sys/net/ipv4/ip_forward //启动linux路由功能
iptables -F //清空所有规则 iptables -X //清空所有自定义规则 iptables -Z //清空计数器
iptables -P FORWARD DROP //定义默认的转发策略为丢弃 iptables -P INPUT DROP //定义默认的接收策略为丢弃 iptables -P OUTPUT DROP //定义默认的发送策略为丢弃
//允许访问DNS服务器的往返数据包 iptables -A FORWARD -p udp -d 192.168.10.1 --dport 53 -j ACCEPT iptables -A FORWARD -p udp -s 192.168.10.1 --sport 53 -j ACCEPT iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 53 -j ACCEPT iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 53 -j ACCEPT //允许访问WEB服务器的往返数据包 iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 80 -j ACCEPT iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 80 -j ACCEPT
//允许访问FTP服务器的往返数据包通过
//允许本机与外部主机互ping iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT 实验脚本2 iptables -F iptables -X iptables -Z #------------------------default rule ------------------------------ iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP #------------------------ssh rule------------------------------------------- iptables -t filter -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT #------------------------www-ftp-mail-dns rule -------------------------------- iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -jACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 80 -jACCEPT iptables -t filter -A INPUT -i eth0 -p tcp --dport 21 -jACCEPT iptables -t filter -A INPUT -i eth0 -p tcp --dport 20 -jACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 21 -jACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 20 -jACCEPT iptables -t filter -A INPUT -i eth0 -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 25 -j ACCEPT iptables -t filter -A INPUT -i eth0 -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 110 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT #-------------------------ICMP rule------------------------------------------ iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT 允许ftp访问, 主动模式: 在配置文件中加入: pasv_enable=no(默认yes) 防火墙设置: iptables -F iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -A INPUT -m state --state ESTABLISHED,RELATED-j ACCEPT iptables -A INPUT -p tcp --dport 20:21 -jACCEPT iptables -A INPUT -p tcp --sport 20:21 -jACCEPT 被动模式: 在配置文件中加入: pasv_enable=yes (默认yes) pasv_min_port=40000 pasv_max_port=41000 防火墙设置: iptables -F iptables -P INPUT DROP iptables -A INPUT -m state --stateESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport 20:21 -jACCEPT iptables -A OUTPUT -p tcp --sport 20:21 -jACCEPT iptables -A INPUT -p tcp --dport40000:41000 -j ACCEPT iptables -A OUTPUT -p tcp --sport40000:41000 -j ACCEPT 3.给/bin/firewall.sh设置可执行权限 [root@localhost]# chmod 755 /bin/firewall.sh
4.执行/bin/firewall.sh [root@localhost]# /bin/firewall.sh
5.让计算机下次启动时自动执行/bin/firewall.sh [root@localhost]# echo ‘/bin/firewall.sh’ >> /etc/rc.local 附加实验 如何通过iptables开启ftp服务,包括主动和被动.
iptables -t nat -I POSTROUTING -s192.168.1.0/24 -j SNAT --to 1.1.1.1-1.1.1.222
iptables -t nat -A PREROUTING -i eth0 -ptcp --dport 81 -j DNAT--to 192.168.0.2:80
本文出自 “龙哥” 博客,转载请与作者联系!