클라이언트가 특정 포트(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 세션이 중단됩니다(예:하우크라그위에 언급했듯이)