步骤如下
1、service iptables status 检查是否安装了iptables
2、systemctl stop firewalld 关闭Linux默认防火墙firewalld
3、systemctl mask firewalld 禁用firewalld服务
4、yum -y install iptables 安装iptables
5、yum update iptables 升级iptables
6、yum install iptables-services 安装服务
7、systemctl status iptables 检查安装是否完成
8、iptables -F -n 查看规则并开始配置
----iptables常用规则
----iptables -L -n 查看当前iptables规则
----- -F 清除所有规则 -p 添加协议 后接协议名称 如TCP、UDP
---- -X 清除所有自定义规则 -s 添加IP地址 后接IP地址
---- -Z 所有计数器归0 --dport 端口 后接端口号
---- -A 添加规则 后接链名,如INPUT,OUTPUT,FORWARD -j 添加操作 后接操作指令 如ACCEPT、DROP
---- -D 删除规则 后接链名,如INPUT,OUTPUT,FORWARD -d 目标地址 后接目标地址
---- -i 指定网卡名,表示报文流入的接口 -o 指定网卡名,表示报文流出的接口
---- -t 指定表名 默认是filter
当命令配置完成以后,通过service iptables save 指令保存服务
配置完成以后需要重启iptables,systemctl enable iptables.service 注册iptables服务;systemctl start iptables.service 开启服务;
systemctl status iptables.service 查看状态;systemctl restart iptables.service 重启防火墙
练习:外网IP 220.217.143.73,服务器A IP地址 10.0.0.1,服务器B IP地址 10.0.0.2,无外网IP的服务器B想要通过有外网IP的服务器A去访问外网,如何实现。
首先,给服务器B配置其网关地址为服务器A的IP地址
route add default gw 10.0.0.1
其次,给服务器A启用路由功能并配置iptables规则
sysctl -w net.ipv4.ip_forward=1 启用路由功能
iptables -t filter -A FORWARD -j ACCEPT 打开转发功能
iptables -t nat -A POSTROUTING -o eth0 -j SANT -to 220.217.143.73
最后,让三者实现数据流通
iptables -t nat -A PREROUTING -d 220.217.143.73 -p tcp --dport 3306 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp -m tcp --dport 3306 -j SNAT --to-source 10.0.0.1
vi /etc/hosts.aoolw 进行编辑
格式为 服务名:IP:allow(允许)/deny(禁止)
1、 wget 'https//sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download' -O DenyHosts-2.6.tar.gz
2、tar zxvf DenyHosts-2.6.tar.gz 解压压缩包
3、cd DenyHosts-2.6 进入解压后的文件
4、python setup.py install 进行安装
5、cp daemon-control-dist daemon-control
cp denyhosts.cfg-dist denyhosts.cfg 将这两个文件复制为配置文件
6、ln daemon-control /etc/init.d 创建连接
/etc/init.d/daemon-control start 启动