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 root@172.25.254.24
??查看網絡ifconfig ???顯示的是172.25.254.124
DNAT測試:
1.用ip:172.25.254.24(真機)去連接172.25.254.124
???ssh root@172.25.254.124
2.ifconfig查看網絡 ???顯示的是172.25.0.224
本文轉自 lulu2017 51CTO博客,原文鏈接:http://blog.51cto.com/13132425/1958175
總結
以上是生活随笔為你收集整理的iptables防火墙火墙服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux版本号含义
- 下一篇: WebView 文档 翻译