1.打開iptables文件:
sudo vi /etc/sysconfig/iptablesbash
2.配置內容
服務器
# 容許本地迴環 127.0.0.1 iptables -A INPUT -i lo -p all -j ACCEPT # 容許已經創建的全部鏈接 iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # 容許全部向外發起的鏈接 iptables -A OUTPUT -j ACCEPT # 拒絕 ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT # 容許 SSH 服務端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 容許 Web 服務端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 拒絕其餘全部未被容許的鏈接 iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
這些規則必需要保存,不然下次重啓服務器後,規則會丟失。CentOS 和 Debian 的 iptables 保存各有區別:tcp
# CentOSrest
service iptables save # 保存 service iptables restart # 重啓 chkconfig iptables on # 確認服務會隨開機自動啓動 或者: sudo /etc/init.d/service iptables save # 保存 sudo /etc/init.d/service iptables restart # 重啓
遇到問題:bash: chkconfig: command not found 的解決
1.把 export PATH=/sbin:$PATH 加入到 /etc/profile 裏;
2.命令:source /etc/profile
3.在輸入命令:chkconfig看看,應該就能夠了。
code
# Debian
ip
iptables-save > /etc/firewall.conf # 保存規則到一個文件 echo '#!/bin/sh' > /etc/network/if-up.d/iptables # 建立一個開機啓動項文件 echo 'iptables-restore < /etc/firewall.conf' >> /etc/network/if-up.d/iptables # 同上,繼續添加內容 chmod +x /etc/network/if-up.d/iptables # 修改啓動項文件的執行屬性
若是不滿意以上配置的規則,能夠使用如下命令來清空所有規則:it
iptables -F iptables -X iptables -Z
到此,所有結束。table