1. 程式人生 > >iptables防火墻火墻服務

iptables防火墻火墻服務

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防火墻火墻服務