iptables修改数据包_iptables实现代理防火墙

0c9b7ee6da922b3024135ff44daacca8.png

实验目的:

使用iptables命令实现代理。需要3台机器(2台虚拟机+主机)进行演示。

实验环境:

1. Mac OS IP地址:192.168.43.121 (客户机)

2. Ubuntu IP地址:192.168.43.194(代理)

3. Kali Linux IP地址:192.168.43.45(web服务器)

实验步骤:

1. 初始的Kali Linux上部署了一个DVWA工具所以以此作为服务器主机来进行实验,客户机192.168.43.121访问服务器192.168.43.45/DVWA的界面:

bed6d9a904b1182a65f03b553d692ea5.png

2. 代理机192.168.43.194上,开启ip_forward转发,需要登陆root

74f3af5c26d40739d448f206e7adbb78.png

3. 代理机192.168.43.194上,增加以下规则

sudo iptables -t nat -A PREROUTING -p tcp -s 192.168.43.121 --dport 80 -j DNAT --to-destination 192.168.43.45:80

//在PREROUTING链上使用DNAT,更改来自客户机的tcp数据包的目的地址和端口为服务器的地址和端口。

sudo iptables -t nat -A PREROUTING -p tcp -s 192.168.43.45 --sport 80 -j DNAT --to-destination 192.168.43.121

//在PREROUTING链上使用DNAT,更改来自服务器的80端口的tcp数据包的目的地址是客户机。

sudo iptables -t nat -A POSTROUTING -p tcp -s 192.168.43.121 -j SNAT --to-source 192.168.43.194

//在POSTROUTING链使用SNAT,对发送源为客户机的tcp数据包的源地址修改为本代理机的地址。

sudo iptables -t nat -A POSTROUTING -p tcp -s 192.168.43.45 --sport 80 -j SNAT --to-source 192.168.43.194:80

//在POSTROUTING链使用SNAT,对发送源为服务器的tcp数据包的源地址和端口修改为本代理机的地址和端口。

4. 此时客户机访问代理机192.168.43.194/DVWA可以得到DVWA界面

f37cc95cc433902f1c9302cbb784459c.png

在代理机本地访问localhost/DVWA,可以看到本地并没有部署DVWA服务

2439e141429930cd39f18ff8146d2156.png

实验原理参考文章[1]


参考

  1. ^1 https://zhuanlan.zhihu.com/p/59923208
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值