105 lines
2.9 KiB
Plaintext
Executable file
105 lines
2.9 KiB
Plaintext
Executable file
define WAN = wan0
|
|
define LAN = lan0
|
|
define VPN = wg-vpn
|
|
|
|
table inet filter {
|
|
chain input {
|
|
type filter hook input priority filter; policy accept;
|
|
iifname "lo" accept
|
|
ct state invalid drop
|
|
ct state { established, related } accept
|
|
icmpv6 type {echo-request,nd-neighbor-solicit,nd-neighbor-advert,nd-router-solicit,nd-router-advert,mld-listener-query,destination-unreachable,packet-too-big,time-exceeded,parameter-problem} accept
|
|
ip protocol icmpv6 accept
|
|
ip protocol icmp accept
|
|
meta l4proto ipv6-icmp accept
|
|
tcp dport { 4022, 10578, 51821, 51820, 22, 53, 67, 2201, 2221, 8448, 8008, 25565, 26968, 26965, 34197, 27015, 27036 } accept
|
|
udp dport { 9876, 9877, 4020, 10578, 51821, 51820, 22, 53, 67, 2201, 2221, 25565, 26968, 26965, 34197 } accept
|
|
udp dport 27000-27100 accept
|
|
udp dport { 60000-60009 } accept
|
|
udp dport dhcpv6-client accept
|
|
drop
|
|
}
|
|
|
|
chain forward {
|
|
type filter hook forward priority filter; policy accept;
|
|
accept
|
|
}
|
|
|
|
chain output {
|
|
type filter hook output priority filter; policy accept;
|
|
accept
|
|
}
|
|
}
|
|
|
|
table ip nat {
|
|
set masq_saddr {
|
|
type ipv4_addr
|
|
flags interval
|
|
elements = { 192.168.0.0/16 }
|
|
}
|
|
|
|
map map_port_ipport {
|
|
type inet_proto . inet_service : ipv4_addr . inet_service
|
|
}
|
|
|
|
chain prerouting {
|
|
iifname $LAN accept
|
|
type nat hook prerouting priority dstnat + 1; policy accept;
|
|
fib daddr type local dnat ip addr . port to meta l4proto . th dport map @map_port_ipport
|
|
|
|
# beefcake (ben access)
|
|
iifname $WAN tcp dport { 64022 } dnat to 192.168.0.9
|
|
iifname $WAN udp dport { 64020 } dnat to 192.168.0.9
|
|
|
|
# beefcake services
|
|
iifname $WAN tcp dport { 443, 80, 22 } dnat to 192.168.0.9
|
|
|
|
# mnemonic
|
|
iifname $WAN tcp dport { 8022 } dnat to 192.168.0.248
|
|
|
|
# ourcraft
|
|
iifname $WAN tcp dport { 2456, 2457, 25565, 34197 } dnat to 192.168.0.153
|
|
iifname $WAN udp dport { 2456, 2457, 25565, 34197 } dnat to 192.168.0.153
|
|
|
|
# jland and dawncraft
|
|
iifname $WAN tcp dport { 26968, 26965 } dnat to 192.168.0.9
|
|
iifname $WAN udp dport { 26968, 26965 } dnat to 192.168.0.9
|
|
|
|
# v rising
|
|
iifname $WAN tcp dport { 27015, 27036 } dnat to 192.168.0.9
|
|
iifname $WAN udp dport 9876-9877 dnat to 192.168.0.9
|
|
iifname $WAN udp dport { 9876, 9877 } dnat to 192.168.0.9
|
|
iifname $WAN udp dport 27000-27100 dnat to 192.168.0.9
|
|
|
|
# router
|
|
iifname $WAN tcp dport { 2201 } dnat to 192.168.0.1
|
|
iifname $WAN udp dport { 2201 } dnat to 192.168.0.1
|
|
}
|
|
|
|
chain output {
|
|
type nat hook output priority -99; policy accept;
|
|
ip daddr != 127.0.0.0/8 oif "lo" dnat ip addr . port to meta l4proto . th dport map @map_port_ipport
|
|
}
|
|
|
|
chain postrouting {
|
|
type nat hook postrouting priority srcnat + 1; policy accept;
|
|
oifname $LAN masquerade
|
|
ip saddr @masq_saddr masquerade
|
|
}
|
|
}
|
|
|
|
# table ip filter {
|
|
# chain output {
|
|
# type filter hook output priority 100; policy accept;
|
|
# }
|
|
#
|
|
# chain input {
|
|
# type filter hook input priority 0; policy accept;
|
|
# }
|
|
#
|
|
# chain forward {
|
|
# type filter hook forward priority 0; policy accept;
|
|
# }
|
|
# }
|
|
#
|