本文以实验的形式讲解了Linux网络服务配置中iptables配置的方法,实验内容及要求如下:
Iptables实验
启动两台linux虚拟机,第一台linux有两块网卡,并配置防火墙,第二台linux有一块网卡,是公司的服务器;防火墙为自己和服务器提供访问控制,服务器上配置web、FTP、和DNS服务。
实验步骤
(1)配置本机网络参数
[root@localhost]# netconfig –d eth0
[root@localhost]# netconfig -d eth1
(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 --sport 1024: -j ACCEPT
iptables -A FORWARD -p udp -s 192.168.10.1 --sport 53 --dport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 53 --spjort 1024: -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 53 --dport 1024: -j ACCEPT
//允许访问WEB服务器的往返数据包
iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 80 --sport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 80 --dport 1024: -j ACCEPT
//允许访问FTP服务器的往返数据包通过
iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 21 --sport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 21 --dport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 20 --sport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 20 --dport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -d 192.168.10.1 --dport 1024: --sport 1024: -j ACCEPT
iptables -A FORWARD -p tcp -s 192.168.10.1 --sport 1024: --dport 1024: -j ACCEPT
//允许本机与外部主机互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
(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
新闻热点
疑难解答