iptables防火墻火墻服務
一.iptables介紹
二.安裝服務並開啟服務
yum install iptables-services.x86_64
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl start iptables.service
systemctl enable iptables.service
systemctl status iptables.service
三.參數的相關解釋和用法
iptable
-t##指定表名稱
-n##不作解析
-L##列出指定表中的策略
-A##增加策略
-p##網絡協議
--dport ##端口
-s##數據來源
-j##動作
ACCEPT##允許
REJECT ##拒絕
DROP##丟棄
-N##增加鏈
-E##修改鏈名稱
-X##刪除鏈
-D##刪除指定策略
-I##插入
-R##修改策略
-P##修改默認策略
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.224 -j ACCEPT##允許224主機訪問本機所有端口
iptables -A INPUT -j REJECT ##拒絕所有主機的數據來源
iptables -N redhat##增加鏈redhat
iptables -E redhat westos##改變鏈名稱
iptables -X westos##刪除westos鏈
iptable -D INPUT 2##刪除INPUT鏈中的第二條策略
iptables -I INPUT -p tcp --dport 80 -j REJECT##插入策略到INPUT中的第一條
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT##修改第一條策略
iptable -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
允許lo回環接口狀態為NEW通過
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
允許訪問端口22狀態為NEW通過
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
允許訪問端口80狀態為NEW通過
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT
允許訪問端口443狀態為NEW通過
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
允許訪問端口53狀態為NEW通過
iptables -A INPUT -j REJECT
拒絕所有主機的數據來源
該策略第一次通過後狀態會變為RELATED或ESTABLISHED,此後訪問時直接通過iptables,不會給iptables帶來訪問壓力。
五.vsftp在iptables下的設置(編寫策略讓自己開啟的非默認端口可以正常工作)
ftp在主動模式下會隨機打開一個大於1024的端口,所以開啟防火墻後會被禁掉,無法正常使用
1. 編輯配置文件 vim /etc/vsftpd/vsftpd.conf ,並且修改selinux的狀態
pasv_max_port=7000
pasv_min_port=7000
systemctl restart vsftpd 重啟服務
setenforce 0
2.測試
lftp 172.25.254.24
ls 查看內容,無法顯示
3.添加火墻策略
iptables -I INPUT 3 -m stat --state NEW -p tcp --dport 7000 -j ACCEPT
4.測試
lftp 172.25.254.24
ls 查看內容,可以顯示
六.iptables的偽裝
1.查看內核路由功能,若沒有打開則打開內核路由功能。
sysctl -a | grep forward 查找內核路由功能開關
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf 打開內核路由功能
sysctl -p 查看內核路由功能的狀態。0表示關閉,1表示打開
2.配置主機雙網卡ip
eth0的IP:172.25.254.124 eth1的IP:172.25.0.124
3.添加火墻策略
SNAT轉換(源地址轉換在路由完成之後轉換):
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.124
DNAT轉換(目的地轉換在路由完成之前轉換)
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to-dest 172.25.0.224
4.測試
SNAT測試:
1.配置測試主機(另外一臺虛擬機)的網卡ip,網關
IP:172.25.0.224 GATEWAY=172.25.0.124
2.用ssh連接另外一臺主機172.25.254.24
ssh [email protected]
查看網絡ifconfig 顯示的是172.25.254.124
DNAT測試:
1.用ip:172.25.254.24(真機)去連接172.25.254.124
ssh [email protected]
2.ifconfig查看網絡 顯示的是172.25.0.224
本文出自 “13122425” 博客,請務必保留此出處http://13132425.blog.51cto.com/13122425/1958175
iptables防火墻火墻服務