MailTcpForward
One plain-TCP (L4) forward served by traefik on the DNS VM. DNS VM is the single ingress: OPNsense/Mikrotik dst-nat the mail ports at it, traefik passes them through to the mail backend. TLS passthrough (no termination) - raw byte forward, so STARTTLS on 25/587 and IMAPS on 993 reach the backend untouched.
25 goes to PMG (spam filter, then PMG relays to the mail VM); 587/993 go straight to the mail VM. Maps to one tcp.router + tcp.service + entryPoint per entry under host.dns.reverseProxy.tcpForwards.
public sealed record MailTcpForward : IEquatable<MailTcpForward>
1. Properties
1.1. BackendHost
Backend LAN IP/host the bytes are forwarded to (PMG for 25, mail VM for 587/993).
public string BackendHost { get; init; }
1.2. BackendPort
Backend port on BackendHost. Usually same as ListenPort.
public int BackendPort { get; init; }
1.3. ListenPort
Port traefik listens on (the public mail port). Example: 25, 587, 993.
public int ListenPort { get; init; }
2. Operators
2.1. operator !=(MailTcpForward, MailTcpForward)
public static bool operator !=(MailTcpForward left, MailTcpForward right)
| Name | Type | Description |
|---|---|---|
left |
MailTcpForward |
|
right |
MailTcpForward |
Returns: bool
2.2. operator ==(MailTcpForward, MailTcpForward)
public static bool operator ==(MailTcpForward left, MailTcpForward right)
| Name | Type | Description |
|---|---|---|
left |
MailTcpForward |
|
right |
MailTcpForward |
Returns: bool