1
kiah 103 天前
# 清除现有规则
iptables -t nat -F # 配置 POSTROUTING 规则 iptables -t nat -A POSTROUTING -j MASQUERADE # 配置 PREROUTING 规则,将特定源 IP 的流量转发到目标主机 iptables -t nat -A PREROUTING -i vnet0 -s 10.10.10.50 -j DNAT --to-destination 10.10.10.20 |
![]() |
3
Yien 103 天前 via Android
这问题我最近测试过,如果 .50 IP 主机的网关不是主机 A 的.1 IP 的话,无法实现重定向到 20
|
5
Jirajine 103 天前
你如果要只有目的地址为 10.10.10.10 的流量转发给 10.10.10.20 ,那你可以在写规则的时候匹配目的地址。网卡和 ip 没什么关系,从 eth0 进来的目的地址为 10.10.10.10 的包也会被接受,但匹配不到你的规则。
如果你的需求是由 B 向 C 发起请求但是要经过 A ,那你直接在 B 添加静态路由,ip route add <dest_C> via <ip_of_A>,然后在 A 上配置规则决定谁能发给谁。 |
![]() |
6
zsj1029 OP 已解决
iptables -t nat -A PREROUTING -s 10.10.10.50 -d 10.10.10.10 -j DNAT --to-destination 10.10.10.20 不要给 A 创建虚拟网卡,在单网卡上创建多个 ip ,主机 B 10.10.10.50 访问 A 的 10.10.10.10 ,转发到 c 的 10.10.10.20 |
7
wumoumou 102 天前
向大佬学习一下
|