🎯 Goal

Enforce logical traffic flow through each security zone in OPFORGE using a clearly segmented and rhymed IP scheme.

RED_NET β†’ RTR_RED β†’ RTR_INET β†’ RTR_EXT β†’ FW_DMZ β†’ RTR_INT β†’ INTERNAL_NET

πŸ” Subnet Allocation by Zone

Zone/LinkSubnetMnemonic
External Internet192.168.1.0/241 = Origin
RED_NET192.168.10.0/2410 = Tension
RED ↔ INET Transit192.168.20.0/2420 = Handoff
INET ↔ EXT Transit192.168.30.0/2430 = Throttle
EXT ↔ DMZ Transit192.168.40.0/2440 = Border
DMZ ↔ INTERNAL Transit192.168.50.0/2450 = Core Door
INTERNAL_NET192.168.60.0/2460 = Fix-it Net

🚦 Expected IP Assignments

DeviceInterfaceIP AddressConnected To
opf-rt-redeth0192.168.10.1/24RED_NET
opf-rt-redeth1192.168.20.1/24opf-rt-inet
opf-rt-ineteth0192.168.20.2/24opf-rt-red
opf-rt-ineteth1192.168.30.1/24opf-rt-ext
opf-rt-exteth0192.168.30.2/24opf-rt-inet
opf-rt-exteth1192.168.40.1/24opf-fw-dmz (em0)
opf-fw-dmzem0192.168.40.2/24opf-rt-ext
opf-fw-dmzem1192.168.50.1/24opf-rt-int
opf-rt-inteth0192.168.50.2/24opf-fw-dmz
opf-rt-inteth1192.168.60.1/24INTERNAL_NET

🧭 Route Propagation (Examples)

On opf-rt-red

set protocols static route 192.168.60.0/24 next-hop 192.168.20.2

On opf-rt-inet

set protocols static route 192.168.60.0/24 next-hop 192.168.30.2

On opf-rt-ext

set protocols static route 192.168.60.0/24 next-hop 192.168.40.2

On opf-fw-dmz (pfSense CLI)

route add -net 192.168.60.0/24 192.168.50.2

To persist:

echo 'static_routes="internalnet"' >> /etc/rc.conf
echo 'route_internalnet="-net 192.168.60.0/24 192.168.50.2"' >> /etc/rc.conf.local

βœ… Benefits of This Design

  • Memorable: Each subnet aligns with a β€œrhyme” for mission role
  • Traceable: Routes are easy to follow and describe
  • Segmented: Forces all traffic through correct inspection points
  • Scalable: Easily extend with 70.x, 80.x, etc for future zones

πŸ–ΌοΈ ASCII Diagram: Segmented Routing Overview

    [ Internet / WAN ]
            |
     +------v------+         RED_NET          
     | opf-rt-inet |<----------------------------+
     | 30.1 / 20.2 |                             |
     +------^------+                             |
            |                                    |
     +------v------+                             |
     | opf-rt-red  |                             |
     | 10.1 / 20.1 |---+                         |
     +-------------+   |                         |
                       |                         |
                +------v------+                 |
                | opf-lnx01    |                |
                | 10.10        |                |
                +-------------+                |
                                              |
     +-------------+                           |
     | opf-rt-ext  |<---------------------------+
     | 30.2 / 40.1 |
     +------+------+           DMZ_LINK
            |
     +------v------+ 
     | opf-fw-dmz  |
     | 40.2 / 50.1 |
     +------+------+
            |
     +------v------+
     | opf-rt-int  |-----> [ INTERNAL_NET ]
     | 50.2 / 60.1 |
     +-------------+

Note: IPs shortened for clarity. Each zone uses a unique /24 subnet.

βš™οΈ Interface Configuration Commands (VyOS & pfSense)

opf-rt-red

set interfaces ethernet eth0 address '192.168.10.1/24'
set interfaces ethernet eth1 address '192.168.20.1/24'
set protocols static route 192.168.60.0/24 next-hop 192.168.20.2
commit; save

opf-rt-inet

set interfaces ethernet eth0 address '192.168.20.2/24'
set interfaces ethernet eth1 address '192.168.30.1/24'
set protocols static route 192.168.60.0/24 next-hop 192.168.30.2
commit; save

opf-rt-ext

set interfaces ethernet eth0 address '192.168.30.2/24'
set interfaces ethernet eth1 address '192.168.40.1/24'
set protocols static route 192.168.60.0/24 next-hop 192.168.40.2
commit; save

opf-fw-dmz (pfSense CLI)

ifconfig em0 inet 192.168.40.2 netmask 255.255.255.0
ifconfig em1 inet 192.168.50.1 netmask 255.255.255.0
route add -net 192.168.60.0/24 192.168.50.2

# Persist routes
echo 'static_routes="internalnet"' >> /etc/rc.conf
echo 'route_internalnet="-net 192.168.60.0/24 192.168.50.2"' >> /etc/rc.conf.local

opf-rt-int

set interfaces ethernet eth0 address '192.168.50.2/24'
set interfaces ethernet eth1 address '192.168.60.1/24'
commit; save

βœ… All routers are now aligned to the segmented architecture.