iptables实战

1、只对外开放某个端口

在这里插入图片描述

允许本地访问外部IP地址和端口号,通过设定白名单的方式可以防止本机去访问别的服务器。通过这种场景的设置,可以最大可能避免反弹shell和挖矿程序去试图通过本地访问目标服务器下载恶意程序或执行恶意指令。

iptables -I INPUT -i  ens33 -p tcp -s 192.168.112.153 --sport 80 -j ACCEPT
iptables -I OUTPUT -o  ens33 -p tcp -d 192.168.112.153 --sport 80 -j ACCEPT

通过以上设置本机可以与192.168.112.153的80端口进行交互。注意上述是本机访问其他服务器。

2、防止DDOS攻击,设定一些数据的限制条件

iptables -A INPUT -p --sport 80 -m limit 25/minute --limit-burst 100 -j ACCEPT

3、端口转发

1、本机端口转发:比如80端口对外封闭,开放一个45692供外部访问,外部只知道45692,不知道80,可以避免协议猜测。

iptables -t nat -A PREROUTING -p tcp --dport 45692 -j REDIRECT --to-port 80

如上表示把45692端口的流量转发到80端口。

2、远程端口转发:把本机接收到的请求转发到远程电脑和对应端口上,远程可以是本地局域网,也可以是公网服务器。
远程端口转发时需要确保端口转发功能是启用的。

在这里插入图片描述
或者

vi /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p /etc/sysctl.conf

(1)SNAT
原地址转换典型应用环境:局域网主机共享单个公网IP地址接入inernet。
前提条件:
(1)局域网各主机正确设置IP地址/子网掩码。
(2)局域网各主机正确设置默认网关地址。
(3)Linux网关支持IP路由转发。
实现方式:
在这里插入图片描述
配置SNAT时也可能会指定某个地址的某个端口:

iptables -t nat -A POSTROUTING -d 192.168.112.153 -p tcp --dport 80 -j SNAT --to 192.168.112.188

表示将目标服务器上的目标端口路由给本机,192.168.112.188表示本机的ip地址,192.168.112.153表示目标服务器,80是目标端口。
在这里插入图片描述
(2)DNAT
目标地址转换典型应用环境:在Internet中发布位于企业局域网内的服务器。
前提条件:
(1)局域网的Web服务器能够访问Internet。
(2)网关的外网IP地址有正确的DNS解析记录。
(3)Linux网关支持IP路由转发。
实现方式:
在这里插入图片描述
指定端口时可写成如下:

iptables -t nat -A PREROUTING -d 192.168.112.188 -p tcp --dport 80 -j DNAT --to-destination 192.168.112.153:80

表示如果有人访问192.168.112.188的80端口,则DNAT会转发给192.168.112.153的80端口。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值