iptables 配置全局代理失败,是什么问题
fngli2024-07-22 11:330
我有两台机器,ip 分别为 192.168.1.31 机器 A 、192.168.1.32 机器 B 。现在 A 可以连接网络,并且部署了代理服务,端口为 1234 。现在 B 也需要连接网络,使用 iptables 将 B 的全部流量转发至 A:1234,实现上网功能
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp -s 192.168.1.32 -j DNAT --to-destination 192.168.1.31:1234
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.31 -j MASQUERADE
ip route add default via 192.168.1.31
上述配置完后,没有效果
从网上找了找又修改了
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -N V2RAY
iptables -t nat -A V2RAY -d 192.168.0.0/16 -j RETURN
iptables -t nat -A V2RAY -p tcp -j DNAT --to-destination 192.168.1.31:1234
iptables -t nat -A PREROUTING -p tcp -j V2RAY
iptables -t nat -A OUTPUT -p tcp -j V2RAY
还是不生效
是我配置的有问题吗,还是有什么其他原因
最新回复 (5)
- choury4月前引用2楼还是先看下 iptables 的原理吧
你这第一条命令的效果是,把来源 ip 是 192.168.1.32 的 tcp 报文,目的地址改成 192.168.1.31:1234; 第二条命令的效果是,把所有发到 192.168.1.31 的报文,来源 ip 改成自己网卡的 ip 。
先不论 A 在 1234 端口提供的是何种代理,按照你这个做法,A 拿到这个 tcp 报文之后,它怎么知道这个包的原始目标是什么? - pagxir4月前引用3楼你这个 1234 是什么端口,透明代理不应该是用 tproxy 或者 redirect 么。你在 b 上执行 nat ,A 压根不知道你要连接的目标,除非用流量探测
- povsister4月前引用4楼哥们,v2ray 不能当路由用的亲.jpg
- fngli楼主4月前引用5楼@choury 稍后我看看原理。我可以简单理解为:如果使用 iptables 配置代理,只能使用本机吗端口吗
- kxuanobj4月前引用6楼“现在 A 可以连接网络,并且部署了代理服务,端口为 1234 。现在 B 也需要连接网络,使用 iptables 将 B 的全部流量转发至 A:1234,实现上网功能”
为啥不直接在 B 上加一条路由,把默认网关设置到 A 上呢? - 回复请 登录 or 快速注册
fngli
主题数 56 | 帖子数 2871 | 注册排名 2 |