PublicKey = lGhC51IBgZtlq4H2bsYFuKvPtV0VAEwUvVIn5fW7D0c=
AllowedIPs = 10.177.87.2
AllowedIPs = 192.168.56.0/24
+AllowedIPs = 192.168.57.0/24
AllowedIPs = 10.84.139.0/24
# dick
PostUp = resolvectl dns %i 192.168.56.1
PostUp = resolvectl domain %i small.private
-# Front
[Peer]
PublicKey = S+6HaTnOwwhWgUGXjSBcPAvifKw+j8BDTRfq534gNW4=
+EndPoint = 192.168.15.5:39608
AllowedIPs = 10.177.87.1
-AllowedIPs = 10.177.87.0/24
AllowedIPs = 192.168.56.0/24
+AllowedIPs = 192.168.57.0/24
+AllowedIPs = 10.177.87.0/24
AllowedIPs = 10.84.139.0/24
#+END_SRC
#+BEGIN_SRC conf :tangle roles_t/gate/tasks/main.yml :noweb no-export
- name: Install UFW.
- become:
+ become: yes
apt: pkg=ufw
- name: Configure UFW policy.
#+BEGIN_SRC conf
[Interface]
Address = 10.84.139.2
-PrivateKey = KIwQT5eGOl9w1qOa5I+2xx5kJH3z4xdpmirS/eGdsXY=
+PrivateKey = wg set %i private-key /etc/wireguard/private-key
+DNS = 192.168.56.1
+Domain = small.private
# Gate
[Peer]
PublicKey = y3cjFnvQbylmH4lGTujpqc8rusIElmJ4Gu9hh6iR7QI=
+EndPoint = 192.168.57.1:51820
AllowedIPs = 10.84.139.1
-AllowedIPs = 10.84.139.0/24
AllowedIPs = 192.168.56.0/24
+AllowedIPs = 192.168.57.0/24
AllowedIPs = 10.177.87.0/24
+AllowedIPs = 10.84.139.0/24
#+END_SRC
And the configuration used on Dick's notebook when it is on campus
[Peer]
PublicKey = y3cjFnvQbylmH4lGTujpqc8rusIElmJ4Gu9hh6iR7QI=
AllowedIPs = 10.84.139.1
-AllowedIPs = 10.84.139.0/24
AllowedIPs = 192.168.56.0/24
+AllowedIPs = 192.168.57.0/24
AllowedIPs = 10.177.87.0/24
+AllowedIPs = 10.84.139.0/24
#+END_SRC
The following tasks install WireGuard™, configure it with
mysystem "ansible-playbook playbooks/check-inst-vars.yml >/dev/null";
-our ($domain_name, $domain_priv, $private_net_cidr,
+our ($domain_name, $domain_priv,
$front_addr, $front_wg_pubkey,
$public_wg_net_cidr, $public_wg_port,
+ $private_net_cidr, $wild_net_cidr,
$gate_wild_addr, $gate_wg_pubkey,
$campus_wg_net_cidr, $campus_wg_port,
$core_addr, $core_wg_pubkey);
content: |
$domain_name = "{{ domain_name }}";
$domain_priv = "{{ domain_priv }}";
- $private_net_cidr = "{{ private_net_cidr }}";
$front_addr = "{{ front_addr }}";
$front_wg_pubkey = "{{ front_wg_pubkey }}";
$public_wg_net_cidr = "{{ public_wg_net_cidr }}";
-
$public_wg_port = "{{ public_wg_port }}";
+ $private_net_cidr = "{{ private_net_cidr }}";
+ $wild_net_cidr = "{{ wild_net_cidr }}";
+
$gate_wild_addr = "{{ gate_wild_addr }}";
$gate_wg_pubkey = "{{ gate_wg_pubkey }}";
PublicKey = $core_wg_pubkey
AllowedIPs = $core_wg_addr
AllowedIPs = $private_net_cidr
+AllowedIPs = $wild_net_cidr
AllowedIPs = $campus_wg_net_cidr\n";
write_wg_server ("private/front-wg0.conf", \@member_peers,
my $O = new IO::File;
my $DNS = ($type eq "android"
? "
-DNS=$core_addr\nDomain=$domain_priv"
+DNS = $core_addr\nDomain = $domain_priv"
: "
PostUp = resolvectl dns %i $core_addr
PostUp = resolvectl domain %i $domain_priv");
EndPoint = $endpt
AllowedIPs = $server_addr
AllowedIPs = $private_net_cidr
+AllowedIPs = $wild_net_cidr
AllowedIPs = $public_wg_net_cidr
AllowedIPs = $campus_wg_net_cidr\n";
close $O or die "Could not close $file.tmp: $!\n";
mysystem "ansible-playbook playbooks/check-inst-vars.yml >/dev/null";
-our ($domain_name, $domain_priv, $private_net_cidr,
+our ($domain_name, $domain_priv,
$front_addr, $front_wg_pubkey,
$public_wg_net_cidr, $public_wg_port,
+ $private_net_cidr, $wild_net_cidr,
$gate_wild_addr, $gate_wg_pubkey,
$campus_wg_net_cidr, $campus_wg_port,
$core_addr, $core_wg_pubkey);
PublicKey = $core_wg_pubkey
AllowedIPs = $core_wg_addr
AllowedIPs = $private_net_cidr
+AllowedIPs = $wild_net_cidr
AllowedIPs = $campus_wg_net_cidr\n";
write_wg_server ("private/front-wg0.conf", \@member_peers,
my $O = new IO::File;
my $DNS = ($type eq "android"
? "
-DNS=$core_addr\nDomain=$domain_priv"
+DNS = $core_addr\nDomain = $domain_priv"
: "
PostUp = resolvectl dns %i $core_addr
PostUp = resolvectl domain %i $domain_priv");
EndPoint = $endpt
AllowedIPs = $server_addr
AllowedIPs = $private_net_cidr
+AllowedIPs = $wild_net_cidr
AllowedIPs = $public_wg_net_cidr
AllowedIPs = $campus_wg_net_cidr\n";
close $O or die "Could not close $file.tmp: $!\n";