我正在尝试设置一个服务器,其中客户端连接到特定端口(比方说 A),并且它们根据时间重定向到其他(本地)端口(B 和 C)。例如,如果客户端连接到 A 并将其转发到 B,则当需要更改端口时,应将其转发到 C,并且不断开连接会更好。是否可以?
答案1
您可以使用--match
模块向规则添加一些附加条件:
time match options:
--datestart time Start and stop time, to be given in ISO 8601
--datestop time (YYYY[-MM[-DD[Thh[:mm[:ss]]]]])
--timestart time Start and stop daytime (hh:mm[:ss])
--timestop time (between 00:00:00 and 23:59:59)
[!] --monthdays value List of days on which to match, separated by comma (Possible days: 1 to 31; defaults to all)
[!] --weekdays value List of weekdays on which to match, sep. by comma (Possible days: Mon,Tue,Wed,Thu,Fri,Sat,Sun or 1 to 7 Defaults to all weekdays.)
--kerneltz Work with the kernel timezone instead of UTC
看iptables -m time -h
结论:可以添加多个不同时间的转发规则。但是 tcp 会话将在目的地更改后中断(如豪克拉格上文提到的)