iptables防火牆火牆服務

一.iptables介紹linux

二.安裝服務並開啓服務vim

   yum install iptables-services.x86_64 網絡

   systemctl stop firewalldssh

   systemctl disable firewalldtcp

   systemctl mask firewalld ide

   systemctl start iptables.service測試

   systemctl enable iptables.servicespa

   systemctl status iptables.servicerest

三.參數的相關解釋和用法接口

 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

相關文章
相關標籤/搜索