公司遇到的任务, 仅做一下记录, 场景: A, B, C三台服务器, 使用B作为A,C交互的桥梁
代码如下
iptables -t nat -A PREROUTING -p tcp -d xxxxx.130 --dport 13004 -j DNAT --to xxxxx.129:13004
iptables -t nat -A POSTROUTING -p tcp -s xxxxxx.234 -j SNAT --to-source xxxxx.130
iptables -t nat -A PREROUTING -p tcp -d xxxxxx.130 -j DNAT --to xxxxx.234
iptables -t nat -A POSTROUTING -p tcp -s xxxxxx.129 --sport 13004 -j SNAT --to-source xxxxxx.130
通俗解释一下:
-A PREROUTING 表示对收到的报文的目的地址做更改, -d和-dport表示对数据包进行筛选(相当于SQL的where子句), -j DNAT表示目的地址映射, 映射为后面的地址和端口
-A POSTROUTING表示对报文源地址更改, -j SNAT对源地址映射, 第二句我没写端口是因为这里A服务器发来的报文端口不固定.