防火牆策略之iptables

############################

#########   iptables   ##########

############################

iptables 是與最新的 3.5 版本 Linux 內核集成的 IP 信息包過濾系統。如果 Linux 系統連接到因特網或 LAN、服務器或連接 LAN 和因特網的代理服務器, 則該系統有利於在 Linux 系統上更好地控制 IP 信息包過濾和防火牆配置。

****實驗前關掉firewalld並打開iptables


iptables        -t           ##指定表名稱

                    -n          ##不作解析
                    -L          ##列出指定表中的策略
                    -A          ##增加策略
                    -p          ##網絡協議
                    --dport   ##端口
                    -s          ##數據來源
                    -j           ##動作
                    -N         ##增加鏈
                    -E         ##修改鏈名稱
                    -X         ##刪除鏈
                    -D         ##刪除指定策略
                    -I           ##插入
                    -R         ##修改策略
                    -P         ##修改默認策略
                    ACCEPT      ##允許
                    REJECT      ##拒絕
                    DROP         ##丟棄

iptables  -t filter -nL         ##查看filter表中的策略


iptables  -F                       ##刷掉filter表中的所有策略,當沒有用-t指定表名稱時默認時filter(如此更改只是一次性的,當重新啓動機器時策略會被重新讀取)


service iptables save     ##保存當前策略
iptables -A INPUT -i lo -j ACCEPT                               ##允許lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT            ##允許訪問22端口
iptables -A INPUT -s 172.25.254.250 -j ACCEPT        ##允許250主機訪問本機所有端口

iptables -A INPUT -j REJECT                                      ##拒絕所有主機的數據來源


iptables -N redhat                  ##增加鏈redhat


iptables -E redhat westos      ##改變鏈名稱


iptables -X westos                 ##刪除westos鏈

iptables -D INPUT 2               ##刪除INPUT鏈中的第二條策略


iptables -I INPUT  -p tcp --dport 80  -j REJECT        ##插入策略到INPUT中的第一條
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT     ##修改第一條策略
iptables -P INPUT DROP        ##把INPUT表中的默認策略改爲drop

iptables -A INPUT -m state --state RELATED,ESTABLISHED  -j ACCEPT          ##允許狀態爲RELATED和ESTABLISHED的數據包通過
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT                 ##允許狀態爲new的數據包通22端口               
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT

iptables -A INPUT -j REJECT                                                                             ##拒絕其他所有包

#####配置路由策略#####

iptables  -F                                                                         ##刷掉策略

sysctl -a | grep forward                                                       ##查看內部網卡IP轉發功能是否開啓
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf               ##允許雙網卡內部通信,即開啓IP轉發功能
sysctl -p                                                                             ##重新加載策略
iptables -t nat -A PREROUTING  -i eth1 -j DNAT --to-dest 172.25.0.11               ##在nat表的PREROUTING鏈添加策略將外網轉化爲內網
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.100   ##在nat表的POSTROUTING鏈添加策略將內網數據包轉發到外網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章