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

相关文章
相关标签/搜索