iptables -A INPUT -p tcp --dport 22 -j DROP 新增規則
iptables -D INPUT -P tcp --dport 22 -j DROP 刪除規則
iptables -A INPUT -i eth0 -s 10.0.0/24 -j DROP 源地址10.0.0.0/24網段,且從etho0進入,直接過濾(若是沒有寫接口,就是全部接口)
iptables -A INPUT -i eth1 -s ! 10.0.0.102 -j DROP(源地址非10.0.0.102通過eth1的直接drop)
iptables -L -n 查看iptables的列表
iptables -F
iptables -X
iptables 默認用filter表
ACCEPT DROP REJECT(安全隱患,不用這樣,只用前面2個)
生產環境經常使用服務的iptables的規則實例
如下服務是以默認規則爲拒絕設計的:
1\僅容許內部合法的IP地址訪問服務器
iptables -A INPUT -s 203.81.19.0/24 -p all -j ACCEPT
iptables -A INPUT -s 124.42.60.96/24 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
iptables -A INPUT -s 10.0.0.0/24 -p all -j ACCEPT
2\僅容許內部合法的IP段訪問監控服務器nagios
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 5666 -j ACCEPT
3\僅容許內部合法的IP段訪問mysql數據庫和oracle數據庫
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3307 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1521 -j ACCEPT
4\僅容許內部合法的IP段訪問ssh遠程鏈接服務
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 50718 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.2.0/24 --dport 50718 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.3.0/24 --dport 50718 -j ACCEPT
5\對內提供http服務的業務,通常用特殊端口,而且限制合法IP鏈接或***鏈接
iptables -A INPUT -s 192.168.1.10/24 -p tcp -m multiport --dport 8080,8081,8082 -j ACCEPT
6\snmp限制
iptables -A INPUT -s 192.168.2.0/24 -p UDP --dport 161 -j ACCEPT
iptables -A INPUT -s 203.82.11.0/24 -p UDP --dport 161 -j ACCEPT
iptables -A INPUT -s 203.81.18.0/24 -p UDP --dport 161 -j ACCEPT
七、rsync服務的限制策略
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 873 -j ACCEPT
8\nfs服務的限制
iptables -A INPUT -s 192.168.1.0/24 -p TCP -m multiport --dport 111,892,2049 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp -m multiport --dport 111,892,2049 -j ACCEPT
9\ftp服務的限制
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
提示:上面內容表示對已經創建鏈接的數據包,或者發出去的數據包容許經過
十、ICMP的限制
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp -s 10.10.10.0/24 -m icmp --icmp-type any -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
11\容許SSH
iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/24 -j ACCEPT
12\配置容許lo接口的進入 流出,本地環回接口
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
13\電影院模式,一旦敲入下面的命令,服務器會鏈接不上,因此敲入下列命令前要加入訪問的網段:iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT #必定要先加這條,不然執行下面語句後不能正常的鏈接服務器
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
iptables --policy INPUT DROP
1四、開啓信任的IP段
容許IDC機房和辦公網IP的訪問
iptables -A INPUT -s 124.43.62.96/27 -p all -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p all -j ACCEPT
iptables -A INPUT -s 10.0.0.-0/24 -p all -j ACCEPT
容許http服務運行
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
容許ICMP
iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
容許關聯的狀態包經過
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
永久保存成配置文件
/etc/init.d/iptables save
備份Iptables的配置文件
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
nat:
一、PC1配置2個網橋網卡,一個和局域網同網段(192.168.1.0、24),另一個自定義個網段(172.16.1.3)
準備一臺PC2,網卡設置爲網橋模式,確保手動配置網絡段172.16.1.17 網關:172.16.1.3
新網卡的只設置IP:172.16.1.3,不設置網關。若是設置網關,則有2個網關,形成不能上網
在PC1上“開啓內核轉發”:net.ipv4.ip_forward = 1 修改後使用sysctl -p生效,並將PC2網關設置成172.16.1.3
開啓轉發後,真機能ping通172.16.1.17,若是沒有開啓轉發功能,測不能ping通172。16.1.17
二、在PC1的iptables開啓轉發:Chain FORWARD (policy ACCEPT)
三、加載模塊
作源地址轉換:
iptables -t nat -A POSTROUTING -s 172.16.1.0/255.255.255.0 -o eth0 -j SNAT --to-source 192.168.1.106 #靜態IP
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE ###撥號上網
作完上面的操做後,內網的機器PC2就能夠上網了
mysql