aboutsummaryrefslogtreecommitdiff
path: root/roles/network/tasks/vlans.yaml
diff options
context:
space:
mode:
authorAaditya Dhruv <[email protected]>2025-04-22 17:29:46 -0500
committerAaditya Dhruv <[email protected]>2025-05-01 20:19:51 -0500
commit55298a51cb0cc5e68c5a43869f2f32b899d3a622 (patch)
tree50d271288502bcff6f0a5133ce0839d883ee8ef7 /roles/network/tasks/vlans.yaml
init
Diffstat (limited to 'roles/network/tasks/vlans.yaml')
-rw-r--r--roles/network/tasks/vlans.yaml39
1 files changed, 39 insertions, 0 deletions
diff --git a/roles/network/tasks/vlans.yaml b/roles/network/tasks/vlans.yaml
new file mode 100644
index 0000000..f71d1e4
--- /dev/null
+++ b/roles/network/tasks/vlans.yaml
@@ -0,0 +1,39 @@
+- name: Add VLAN configuration
+ ansible.builtin.raw: "robocfg vlan {{ item }} ports '1t 5t'"
+ loop: "{{ network.vlans }}"
+
+- name: Bind VLANs to eth0
+ ansible.builtin.raw: "vconfig add eth0 {{ item }}"
+ loop: "{{ network.vlans }}"
+ ignore_errors: true
+
+- name: Bring VLANs up
+ ansible.builtin.raw: "ip link set dev vlan{{ item }} up"
+ loop: "{{ network.vlans }}"
+
+- name: Create bridges
+ ansible.builtin.raw: "brctl addbr br{{ item }}"
+ loop: "{{ network.vlans }}"
+ ignore_errors: true
+
+- name: Add vlans to bridges
+ ansible.builtin.raw: "brctl addif br{{ item }} vlan{{ item }}"
+ loop: "{{ network.vlans }}"
+ ignore_errors: true
+
+- name: Setup IP Ranges for VLANs
+ ansible.builtin.raw: "ip addr add 192.168.{{ item }}.1/24 dev br{{ item }}"
+ loop: "{{ network.vlans }}"
+ ignore_errors: true
+
+- name: Bring bridges up
+ ansible.builtin.raw: "ip link set dev br{{ item }} up"
+ loop: "{{ network.vlans }}"
+
+- name: Allow INPUT from bridges #This allows packets to reach the router
+ ansible.builtin.raw: "iptables -A INPUT -i br{{ item }} -j ACCEPT"
+ loop: "{{ network.vlans }}"
+
+- name: Allow INPUT from bridges #This allows packets to be forwarded to other interfaces
+ ansible.builtin.raw: "iptables -A FORWARD -i br{{ item }} -j ACCEPT"
+ loop: "{{ network.vlans }}"