Skip to content

Commit 4ae2339

Browse files
committed
Allow AWS DNS queries through the firewall
1 parent beb8df4 commit 4ae2339

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

cookbooks/networking/attributes/default.rb

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
default[:networking][:firewall][:mark] = true
1212
default[:networking][:firewall][:raw] = true
1313
default[:networking][:firewall][:mangle] = true
14+
default[:networking][:firewall][:whitelist] = []
1415
default[:networking][:roles] = {}
1516
default[:networking][:interfaces] = {}
1617
default[:networking][:nameservers] = %w[8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844]

cookbooks/networking/templates/default/nftables.conf.erb

+8
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ table inet filter {
6464
}
6565

6666
chain incoming {
67+
<%- if node[:networking][:firewall][:whitelist].empty? %>
6768
ip saddr { $ip-private-addresses } jump log-and-drop
69+
<%- else %>
70+
ip saddr { $ip-private-addresses } ip saddr != { <%= node[:networking][:firewall][:whitelist].sort.join(", ") %> } jump log-and-drop
71+
<%- end %>
6872
ip6 saddr { $ip6-private-addresses } jump log-and-drop
6973

7074
ip saddr @ip-blacklist jump log-and-drop
@@ -98,7 +102,11 @@ table inet filter {
98102
}
99103

100104
chain outgoing {
105+
<%- if node[:networking][:firewall][:whitelist].empty? %>
101106
ip daddr { $ip-private-addresses } jump log-and-drop
107+
<%- else %>
108+
ip daddr { $ip-private-addresses } ip daddr != { <%= node[:networking][:firewall][:whitelist].sort.join(", ") %> } jump log-and-drop
109+
<%- end %>
102110
ip6 daddr { $ip6-private-addresses } jump log-and-drop
103111

104112
<%- node[:networking][:firewall][:outgoing].each do |rule| %>

roles/palulukon.rb

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
default_attributes(
55
:networking => {
6+
:firewall => {
7+
:whitelist => ["172.31.0.2"]
8+
},
69
:interfaces => {
710
:external_ipv4 => {
811
:interface => "ens5",

0 commit comments

Comments
 (0)