fix: ip rule is not added when only binding to wan (#399)

This commit is contained in:
mzz
2024-01-02 20:02:00 +08:00
committed by GitHub
parent 9aa9b69c90
commit d1d0f6d16f
3 changed files with 10 additions and 4 deletions

View File

@ -194,12 +194,15 @@ func NewControlPlane(
}
}()
/// Bind to links. Binding should be advance of dialerGroups to avoid un-routable old connection.
// Bind to LAN
if len(global.LanInterface) > 0 {
if len(global.LanInterface) > 0 || len(global.WanInterface) > 0 {
if err = core.setupRoutingPolicy(); err != nil {
return nil, err
}
}
/// Bind to links. Binding should be advance of dialerGroups to avoid un-routable old connection.
// Bind to LAN
if len(global.LanInterface) > 0 {
if global.AutoConfigKernelParameter {
_ = SetIpv4forward("1")
}

View File

@ -195,7 +195,7 @@ group {
# See https://github.com/daeuniverse/dae/blob/main/docs/en/configuration/routing.md for full examples.
routing {
pname(NetworkManager) -> direct
pname(NetworkManager, systemd-resolved, dnsmasq) -> must_direct
dip(224.0.0.0/3, 'ff00::/8') -> direct
### Write your rules below.

View File

@ -202,6 +202,9 @@ routing {
# WAN.
pname(NetworkManager) -> direct
# Bypass DNS stubs. We want to bypass their DNS requests, thus use 'must'.
pname(systemd-resolved, dnsmasq) -> must_direct
# Put it in the front to prevent broadcast, multicast and other packets that should be sent to the LAN from being
# forwarded by the proxy.
# "dip" means destination IP.