diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-10-15 13:36:31 +0200 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-10-15 13:36:31 +0200 |
commit | d4b3de9589cb3f7dd86d2e954ca0c41be2a159fc (patch) | |
tree | 3c0581f0ddc1235eb2f8b57556258687767b210b | |
parent | b533dcde4b354a88aee81485b5db03a4897b673d (diff) |
config6 vlans on SIGUSR1
-rw-r--r-- | src/main.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 850762b..faa5c0e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -133,6 +133,22 @@ fn configure_wan() -> Result<()> { addr::add("eth0".to_string(), addr_lan.into(), 64)?; println!("[info] config eth0 gua {}/64", addr_lan); + + let zones = ["trusted", "untrusted", "isolated", "exposed"]; + for (i, zone) in zones.iter().enumerate() { + let vlan_id = 10 * (i + 1); + let vlan_name = format!("eth0.{}", vlan_id); + let vlan_addr = next_ifid1(&mut subnets)?; + + addr::flush6(vlan_name.clone())?; + addr::add_link_local(vlan_name.clone(), LINK_LOCAL.into(), 64)?; + addr::add(vlan_name.clone(), vlan_addr.into(), 64)?; + + println!( + "[info] config {} gua {}/64 zone {}", + vlan_name, vlan_addr, zone + ); + } } } } |