两个ip在同一块网卡上如何指定特殊端口的数据包用特定ip地址?
系统为Ubuntu 14.04 我配置了两个ip地址在同一块网卡上,比如
1.2.3.4和
192.168.1.253
我想让某个端口的数据包走指定的ip地址,比如邮件服务25端口数据包走
192.168.1.253。
如何设置?
背景:主要公司的这个公网联通的路由比较特别,有两个wan ip。公司内部和外联系用一个ip,公司网站用一个ip。我用haproxy做反向代理时发现很多本来应该从公司和外部联系的ip地址的流量居然从公司网站ip地址发出。
1楼(未知网友)
/******************************
router 命令是设置路由的
然后你描述的有点奇怪,你是想发邮件时用192.168.1.253 其他的走1.2.3.4 这样?
你如果发送的是一个公网IP 就是哪个IP可以和公网联通就用那个IP
至于决定那个IP是联通的 要看你的默认路由设的什么
一般只能设置一个默认路由,所以你要是向外发送的话只能用一个IP
PS iptables也许可以实现,我现在未知
想到一个比较费时的方法
设置默认路由是1.2.3.1 也就是让1.2.3.4 出去的地址
设一个普通的路由 192.168.1.0/24 192.168.1.1 这样192.168.1.253 发送到192.168.1.0/24 就不用找默认路由了
再来一台机器 放在192.168.1.0/24这网段 就叫A吧 A做成邮件代理
你发邮件到A A转发出去
当然你还可能需要一个三层交换,需要你的网络设备各种配合
总之如果神奇的iptables不能实现这东西,你可能需要额外的设备
PPS:我假设了你的需求,问问题最好将自己的目的讲出来,大家才更好理解。
***************************************/
-------------------------------------------------------------------------------------------------------------
题主补充了问题。
这样的话就简单了,只是NAT转换,你们访问外网转换成哪个地址是可以从路由里设置的
华为设备的话,是从源NAT那里设置,其他的设备应该也有对应的功能。
2楼(未知网友)
作为监听方吗?listen的时候可以指定ip