Commit graph

355 commits

Author SHA1 Message Date
Jack Ivanov
6f58093a06
Update azure regions
Closes #1492
2019-06-21 16:01:41 +02:00
Jack Ivanov
8602a697cc
dnscrypt-proxy as a dns adblocker (#1480)
* Move DNS adblocking to dnscrypt-proxy

* Update docs

* remove unneeded variable dnscrypt_proxy_version

* Update to the latest dnscrypt-proxy version

* install.sh fix

* spelling
2019-06-19 17:31:43 +02:00
rodeodomino
fa5b86961c Adding ipv6 localhost to the listen addresses (#1476) 2019-06-10 18:13:01 +02:00
elreydetoda
146cbc71ce Adding preshared key support (#1465)
* adding preshared key generation

* adding preshared folder

* Update client.conf.j2

adding preshared key options

* adding preshared keys to server template

* making sure private preshared is right

* making sure preshared keygen working for main.yml

* changing private to preshared for name

* changing to preshared dir instead of public
2019-06-05 08:31:16 +02:00
Jack Ivanov
498cf46391 Block link-local networks. Block traffic from SSH tunnels to VPN clients (#1458) 2019-06-02 19:01:08 -04:00
Jack Ivanov
a2fdc509e1
Support for Ubuntu 19.04 (#1405)
* Ubuntu 19.04

* Azure to 19.04
2019-05-30 20:57:47 +02:00
Jack Ivanov
c27aed708a
EC2 eip facts authentication fix (#1454)
* EC2 eip facts authentication fix

* add region to ec2_eip_facts
2019-05-30 16:13:48 +02:00
Elliot Murphy
e3a6170ae6 AWS support for existing EIP (revised) (#1292)
* Support for associating to existing AWS Elastic IP

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Backport ec2_eip_facts module for EIP support

This means that EIP support no longer requires Ansible 2.6
The local fact module has been named ec2_elasticip_facts
to avoid conflict with the ec2_eip_facts module whenever
the Ansible 2.6 upgrade takes place.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Update from review feedback.

Signed-off-by: Elliot Murphy <statik@users.noreply.github.com>

* Move to the native module. Add additional condition for existing Elastic IP
2019-05-20 14:40:51 +02:00
shapiro125
72c8e9e244 Add IPv6 support to DNS (#1425)
* Add ipv6

* Add ipv6

* add ipv6

* add ipv6

* Switching out ipv6 address with local_service_ipv6 variable from #1429

* Fixing variable error
2019-05-20 13:17:39 +02:00
Anton Strogonoff
368ebc8625 fix: Use wait_for_connection to avoid failure (#1381)
With preexisting wait_for implementation, deployment to Ubuntu on Lightsail failed with a connection reset error on this task. It appears that Ansible’s wait_for_connection is the recommended way. I have successfully gotten past this task after this change, however I’d appreciate more eyes on this.
2019-05-17 16:04:13 +02:00
Jack Ivanov
5904546a48
Randomly generated IP address for the local dns resolver (#1429)
* generate service IPs dynamically

* update cloud-init tests

* exclude ipsec and wireguard ranges from the random service ip

* Update docs

* @davidemyers: update wireguard docs for linux

* Move to netaddr filter

* AllowedIPs fix

* WireGuard IPs fix
2019-05-17 14:49:29 +02:00
Rémy Léone
826a2c5036 Add documentation about Scaleway credentials (#1419) 2019-05-12 11:21:55 +02:00
Jack Ivanov
6b33d09d9f
Scaleway modules (#1410)
* Scaleway modules

* Update docs
2019-05-03 09:55:45 +02:00
Jack Ivanov
d6a1fb91bd
WIP: Facts definition fix (#1415)
Facts definition fix
2019-05-01 11:51:06 +02:00
TC1977
faa4b9a8da Automatically create cloud firewall rules for installs onto Vultr (#1400)
* Update main.yml

* Change module names and add IPv6 firewall rules

Uses guide at https://www.renemoser.net/blog/2018/03/19/vultr-firewalling-with-ansible/ written by Rene Moser.

* change vultr to vr

* add ip_version to firewall rules

* add SSH access rules

* Use variable for wireguard port

* update module names for ansible 2.7

* Fix trailing whitespaces

* Try to fix trailing whitespaces again
2019-04-27 12:59:26 +02:00
Jack Ivanov
25513cf925 Refactoring, Linting and additional tests (#1397)
* Refactoring, Linting and additional tests

* Vultr: Undefined variable and deprecation notes fix

* Travis-CI enable linters

* Azure: Update python requirements

* Update main.yml

* Update install.sh

* Add missing roles to ansible-lint

* Linting for skipped roles

* add .ansible-lint config
2019-04-26 11:48:28 -04:00
Jack Ivanov
1e35753aa2
Update openssl.yml (#1403) 2019-04-23 12:36:12 +02:00
Jack Ivanov
1c7e1dc331
Move Delete the CA key task to the appropriate role (#1393) 2019-04-13 11:53:45 +02:00
TC1977
d969b8e1b6 Fix 963 again (#1379)
* Create charon.conf.j2

Create charon.conf template with mods

* Update mobileconfig.j2

Increase client side lifetimes

* Update ipsec.conf.j2

Add server-side lifetimes

* Add charon.conf
2019-04-09 15:37:08 +03:00
Jack Ivanov
c4ea88000b Refactoring to support roles inclusion (#1365) 2019-04-08 16:20:34 -04:00
David Myers
d50a2039a6 Use VULTR_API_CONFIG variable if set (#1374) 2019-04-06 13:49:25 +03:00
Jack Ivanov
cf4d5b47a9
IPv6 range to AllowedIPs only when ipv6_support (#1388) 2019-04-06 13:44:13 +03:00
Jack Ivanov
84bbc0e22c
Update ubuntu.yml (#1383) 2019-04-02 13:21:45 +03:00
adamluk
d996b1d02f Update 10-algo-lo100.network.j2 (#1369) 2019-03-25 08:55:38 +01:00
Fabian Foerg
13c4628b5d Simplify Apple Profile Configuration Template (#1033)
* Simplify Apple Profile Configuration Template

* enable lstrip_blocks

* remove ldashes
2019-03-19 17:49:18 +01:00
Jack Ivanov
30beadb949
Modify naming in the cloud resources and client config files (#1353)
* Modify naming in the cloud resources and client config files

* Azure template: Eliminate unneeded variables
2019-03-15 18:16:26 +01:00
Jack Ivanov
4ae5972f94
Start dnscrypt-proxy after systemd-resolved (#1357) 2019-03-14 18:11:57 +01:00
Jack Ivanov
273c7665d3 Refactoring (#1334)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Renames the vpn role to strongswan, and split up the variables to support 2 separate VPNs. Closes #1330 and closes #1162
Configures Ansible to use python3 on the server side. Closes #1024 
Removes unneeded playbooks, reorganises a lot of variables
Reorganises the `config` folder. Closes #1330
<details><summary>Here is how the config directory looks like now</summary>
<p>

```
configs/X.X.X.X/
|-- ipsec
|   |-- apple
|   |   |-- desktop.mobileconfig
|   |   |-- laptop.mobileconfig
|   |   `-- phone.mobileconfig
|   |-- manual
|   |   |-- cacert.pem
|   |   |-- desktop.p12
|   |   |-- desktop.ssh.pem
|   |   |-- ipsec_desktop.conf
|   |   |-- ipsec_desktop.secrets
|   |   |-- ipsec_laptop.conf
|   |   |-- ipsec_laptop.secrets
|   |   |-- ipsec_phone.conf
|   |   |-- ipsec_phone.secrets
|   |   |-- laptop.p12
|   |   |-- laptop.ssh.pem
|   |   |-- phone.p12
|   |   `-- phone.ssh.pem
|   `-- windows
|       |-- desktop.ps1
|       |-- laptop.ps1
|       `-- phone.ps1
|-- ssh-tunnel
|   |-- desktop.pem
|   |-- desktop.pub
|   |-- laptop.pem
|   |-- laptop.pub
|   |-- phone.pem
|   |-- phone.pub
|   `-- ssh_config
`-- wireguard
    |-- desktop.conf
    |-- desktop.png
    |-- laptop.conf
    |-- laptop.png
    |-- phone.conf
    `-- phone.png
```

![finder](https://i.imgur.com/FtOmKO0.png)

</p>
</details>

## Motivation and Context
This refactoring is focused to aim to the 1.0 release

## How Has This Been Tested?
Deployed to several cloud providers with various options enabled and disabled

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Refactoring

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] All new and existing tests passed.
2019-03-10 13:16:34 -04:00
Tim H
b4740185e8 Add catch-all VPN On Demand Rule (#739)
If a user is not connected to a trusted Wi-Fi network or if the
URLStringProbe fails none of the existing dictionaries match.

According to the Apple Configuration Profile Reference[1] section "VPN
Payload > On Demand Rules Dictionary Keys" a default behavior for
unknown networks with no matching criteria should always be set as the
last dictionary in the array. The current default behavior is to allow a
connection to occur, but this behavior is not guaranteed.

Tear down the VPN connection and do not reconnect on demand as long as
the catch-all dictionary matches to guarantee the default behavior and
more specifically allow users to access captive portals.

[1]: https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html
2019-02-26 17:40:29 +01:00
Demian
5e5424df69 fix OS is undefined error (#1335) 2019-02-26 12:19:34 +01:00
Jack Ivanov
ec56203b87
Support for custom domain names in the endpoint (#1337) 2019-02-25 17:58:09 +01:00
Jack Ivanov
216cd09dcf
Disable wireguard PersistentKeepalive by default (#1338) 2019-02-25 17:56:19 +01:00
Jack Ivanov
40b42c4f33
Get started with Azure more easily (#1323) 2019-02-08 13:34:01 +01:00
Jack Ivanov
43ed5b2aaa
add flags=(attach_disconnected) to dnscrypt-proxy apparmor profile (#1312) 2019-01-30 07:23:11 +01:00
Jack Ivanov
c47dd4a7ab encode wifi networks to base64 (#1303) 2019-01-28 17:51:28 -05:00
Jack Ivanov
a266b4d633 Allow windows users install VPN for all users in the system (#1310) 2019-01-28 17:50:58 -05:00
Luvpreet Singh
6233642c66 fix(update-users): changed generate p12 password task (#1289)
Changed task's module to generic python format for python2 and python3.
2019-01-25 16:36:44 -05:00
Jack Ivanov
7a6daff1ff IPv6 fix (#1302) 2019-01-18 23:39:08 -05:00
Angel Montes de Oca
44ab95f12b Include Algo generated password (#1272)
I change a line to Include the Algo generated password so the users do not need to manually enter the password when installing on Windows 10 computers.
2019-01-08 08:48:05 +01:00
David Myers
5981bb9cad Replace 'max_mss' with 'reduce_mtu' (#1253) 2018-12-20 09:21:04 -05:00
Jack Ivanov
955a986c21
IPv6 forwarding fixes (#1256) 2018-12-18 13:59:25 +01:00
Jack Ivanov
a6cd89564d
Fixes #1246 2018-12-10 16:37:36 +01:00
Federico G. Schwindt
a4f2c97fd2 Fix ipv4 address missing on reboot (#1245) 2018-12-10 06:57:15 +01:00
David Myers
66681521c1 Increase memory limit for dnsmasq (#1228)
* Increase memory limit for dnsmasq

* Increase memory limit for dnsmasq further
2018-12-03 12:32:23 -05:00
David Myers
8d23f715d7 Run adblock.sh at a random time (#1227) 2018-12-03 15:33:36 +01:00
David Myers
22395f5f84 Add p12 password back to mobileconfigs (#1218) 2018-11-26 16:58:34 +01:00
Jack Ivanov
a66d8f0069 on-build python venvs (#1199) 2018-11-22 13:04:58 -05:00
Jack Ivanov
9187d8e637 dnscrypt-proxy apparmor fix (#1210)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Apparmor profile for dnscrypt-proxy didn't work at all

## Motivation and Context
Fixes #1155

## How Has This Been Tested?
Deployed to DigitalOcean, checked that the dnscrypt-proxy binary is in enforce mode

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] All new and existing tests passed.
2018-11-22 13:04:37 -05:00
Jack Ivanov
45b00ee994
BSD StrongSwan fixes (#1207) 2018-11-20 19:20:24 +01:00
Jack Ivanov
66d30e3005
WireGuard update-users fix (#1183) 2018-11-12 18:03:31 +01:00