2

这是一张小图

Asterisk eth1 10.254.254.2/28-------------  Many Good  Guys
eth1:1 192.168.83.5/32-----------  192.168.59.3 Bad Guy Peer

我有一个星号,它与几个同行相连。其中一些通过 eth1 连接,其中一个通过别名 eth1:1 连接。然后我的星号向同行发送邀请,它与 eth1 源一起使用。所以对于坏人,我需要将我的源 ip 更改为 192.168.83.5 据我所知可以使用 iptables 完成。

所以我尝试了规则

iptables -t nat -A POSTROUTING -s 10.254.254.2 -d 192.168.59.3 -j SNAT --to 192.168.83.5

什么都没发生。当我登录时,我可以看到在 INPUT 和 OUTPUT 链中发送数据包:

iptables -t filter -A OUTPUT -o eth1 -s 10.254.254.2 -d 192.168.59.3 -j LOG --log-level 7 --log-prefix "OUTPUT"

iptables -t filter -A INPUT-i eth1 -s 192.168.59.3 -d 192.168.83.5 -j LOG --log-level 7 --log-prefix "OUTPUT"

但我在 POSTROUTING 链中看不到任何内容:

iptables -t nat -A POSTROUTING -s 10.254.254.2 -d 192.168.59.3 -j LOG --log-level 7 --log-prefix "POSTROUTING"

那就是我对 SNAT(((

同时来自其他对等点的流量在 POSTROUTING 日志中可见。会是什么?任何想法,愿望,踢球将不胜感激!

4

2 回答 2

1

已经找到解决办法了!!我没有找到让我的 iptables 工作的方法。但知道我知道如何在没有 iptables 的情况下做到这一点。所以一般来说,我的任务是修改|屏蔽|用 eth1:1 ip 替换我的 eth1 源 ip。顺便说一句,我使用 CentOS 5.8 并且有一个命令:

ip 路由添加

route与命令不同,它使您能够指向 scr 地址。

所以

ip route add 192.168.59.3/32 via 10.254.254.1 dev eth1 src 192.168.83.5

正在做我需要的。感谢您的关注!

于 2013-04-17T08:42:41.987 回答
0

那不管用。原因很简单,星号会设置在数据包源地址=eth1的地址。

您可以启动另一个星号相同的主机(使用其他配置目录)。对不起,我不知道其他简单的变体。

于 2013-04-16T23:31:25.423 回答