本文以實驗的形式講解了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
新聞熱點
疑難解答