找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 6299|回复: 5

iptables如何端口分流?防80端口劫持

[复制链接]
发表于 2018-7-19 18:27 | 显示全部楼层 |阅读模式
公司所在的网络安装有监控,由于HTTP协议明文特性,监控可以记录到Url ,User-Agent,甚至是Cookies等信息,很容易实现中间人攻击。虽然HTTPS可以避免敏感信息泄露,但有些网站没有HTTPS无法避免敏感信息被中间人监控到,那么可以采用隧道传输的方式尽量避开中间人。。。


正好有一台3M小水管云主机,如果全部通过隧道传输,那么主机带宽吃不消,那么如何用端口分流的方式,只让特定端口(HTTP/TCP:80  DNS/UDP:53)走隧道,或许是一个可行的方案。


那么安装好了服务端,路由器上安装了Open-vp.n Client,配置好连接文件
  1. dev tun
  2. proto tcp
  3. remote xxx.xxx.xx
  4. ...
  5. #放弃服务端推送路由以免全部都走服务器路由
  6. route-nopull
  7. #添加server所在网段路由
  8. route 172.17.2.0 255.255.255.0 virtual**_gateway
  9. verb 3
  10. auth-user-pass
复制代码

连接成功!路由器成功ping上tun0的网关

  1. [root@8C78:/root]#route -n
  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. 0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0.2
  5. 172.17.2.0      172.17.2.14     255.255.255.0   UG    0      0        0 tun0
  6. 172.17.2.14     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
  7. 192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan
  8. 192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0.2
  9. 192.168.2.1     0.0.0.0         255.255.255.255 UH    0      0        0 eth0.2
  10. [root@8c78:/root]#ping 172.17.2.1
  11. PING 172.17.2.1 (172.17.2.1): 56 data bytes
  12. 64 bytes from 172.17.2.1: seq=0 ttl=128 time=42.801 ms
  13. 64 bytes from 172.17.2.1: seq=1 ttl=128 time=41.401 ms
  14. 64 bytes from 172.17.2.1: seq=2 ttl=128 time=41.561 ms

  15. --- 172.17.2.1 ping statistics ---
  16. 3 packets transmitted, 3 packets received, 0% packet loss
  17. round-trip min/avg/max = 41.401/41.921/42.801 ms
复制代码

那么问题来了。。。

路由器下面的客户端ping不通tun0的网关172.17.2.1
怎么设置端口分流?
  1. C:\Users\admin>ping 172.17.2.1
  2. 正在 Ping 172.17.2.1 具有 32 字节的数据:
  3. 来自 192.168.1.1 的回复: 无法连到端口。
  4. 来自 192.168.1.1 的回复: 无法连到端口。
  5. 来自 192.168.1.1 的回复: 无法连到端口。
复制代码

由于对iptables不是很熟悉,用了几个网友分享的防火墙规则,均失败了,
  1. iptables -I FORWARD -o tun0 -j ACCEPT
  2. iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 172.17.2.0/24 -o tun0 -j MASQUERADE
  3. iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
  4. iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT -to 172.17.2.1
复制代码
还请各位排忧解难

我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-7-19 18:30 | 显示全部楼层
一个感pn就搞定的事
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-7-19 18:56 | 显示全部楼层
把REDIRECT 改成DNAT试试。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-7-19 20:42 来自手机 | 显示全部楼层
自行谷歌 iptables iproute2 策略路由,除了 MASQUERADE 之外不需要用到 NAT

点评

谢谢 已搞定 open连接后创建up.sh 创建策略路由  详情 回复 发表于 2018-7-20 23:21
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-7-20 23:21 | 显示全部楼层
LGA1150 发表于 2018-7-19 20:42
自行谷歌 iptables iproute2 策略路由,除了 MASQUERADE 之外不需要用到 NAT

谢谢 已搞定
open连接后创建up.sh
  1. iptables -I FORWARD -o tun0 -j ACCEPT
  2. iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 172.17.2.0/24 -o tun0 -j MASQUERADE
  3. iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE #tun0出口的流量SNAT出去
复制代码
创建策略路由
  1. ip route add default via  $tun0_Gateway  table 222 #创建路由表222
  2. iptables -t mangle -A PREROUTING -i br-lan -p tcp --dport 80-j MARK --set-mark 223 #标记tcp80为223
  3. ip rule add fwmark 223 lookup 222 #标记数据包走路由表222
复制代码


我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-11-19 22:15 来自手机 | 显示全部楼层
up.sh win下面逗比有个现成的,就是怎么搞成linux的,up一下down一下的
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 07:47

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表