首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IPTables转发到动态IP

IPTables转发到动态IP
EN

Server Fault用户
提问于 2016-01-12 20:43:47
回答 3查看 998关注 0票数 0

我有一个服务器运行在例如servera.example.com和serverb.example.com上。我希望将所有端口80的流量重定向到servera.example.com到serverb.example.com,并保留所有其他端口的原样。困难在于serverb.example.com具有动态IP,因此不能将IP直接放入iptables规则中。有办法这样做吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2016-01-12 21:57:18

您可以使用一个简单的脚本来查找serverb.example.com的当前IP,只需运行:

代码语言:javascript
复制
[root@user ~]# dig +short serverb.example.com | sed -e '1d'

这将返回服务器b的当前IP地址。但是请注意,只有当DNS记录用新IP更新时才能工作。

如何使用此脚本取决于您,例如:

代码语言:javascript
复制
#!/bin/bash
SERVB=`dig +short serverb.example.com | sed -e '1d'`
iptables (your rule goes here) -d $SERVB
票数 0
EN

Server Fault用户

发布于 2016-01-12 21:50:30

您不能直接使用iptables/netfilter来完成此操作,因为只有在加载规则时才会查询DNS。如果serverb.example.com在加载规则时指向192.0.2.1,并且更改为192.0.2.2,则netfilter将不知道,数据包将被发送到错误的地址。

也许一个反向代理会帮助你。

票数 2
EN

Server Fault用户

发布于 2016-01-13 07:34:43

首先,确保DNS记录将自动更新为server.example.com。

第二,如果服务器自动访问了他的DNS记录,请使用@ for中的脚本,但是插入一个命令来刷新iptables表。

第三,设置Cron作业或系统单元,以便定期执行脚本。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/748602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档