aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-10-15 13:36:31 +0200
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-10-15 13:36:31 +0200
commitd4b3de9589cb3f7dd86d2e954ca0c41be2a159fc (patch)
tree3c0581f0ddc1235eb2f8b57556258687767b210b
parentb533dcde4b354a88aee81485b5db03a4897b673d (diff)
config6 vlans on SIGUSR1
-rw-r--r--src/main.rs16
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
+ );
+ }
}
}
}