mirror of
https://github.com/linuxserver/docker-wireguard
synced 2024-11-06 09:20:26 +00:00
Merge pull request #65 from IronicBadger/master
Maintaining local access to attached services
This commit is contained in:
commit
9fb08c09ad
@ -84,6 +84,21 @@ app_setup_block: |
|
||||
This is not a Wireguard specific issue and the two generally accepted solutions are NAT reflection (setting your edge router/firewall up in such a way as it translates internal packets correctly) or split horizon DNS (setting your internal DNS to return the private rather than public IP when connecting locally).
|
||||
|
||||
Both of these approaches have positives and negatives however their setup is out of scope for this document as everyone's network layout and equipment will be different.
|
||||
|
||||
## Maintaining local access to attached services
|
||||
|
||||
** Note: This is not a supported configuration by Linuxserver.io - use at your own risk.
|
||||
|
||||
When routing via Wireguard from another container using the `service` option in docker, you might lose access to the containers webUI locally. To avoid this, exclude the docker subnet from being routed via Wireguard by modifying your `wg0.conf` like so (modifying the subnets as you require):
|
||||
|
||||
```
|
||||
[Interface]
|
||||
PrivateKey = <private key>
|
||||
Address = 9.8.7.6/32
|
||||
DNS = 8.8.8.8
|
||||
PostUp = DROUTE=$(ip route | grep default | awk '{print $3}'); HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; ip route add $HOMENET3 via $DROUTE;ip route add $HOMENET2 via $DROUTE; ip route add $HOMENET via $DROUTE;iptables -I OUTPUT -d $HOMENET -j ACCEPT;iptables -A OUTPUT -d $HOMENET2 -j ACCEPT; iptables -A OUTPUT -d $HOMENET3 -j ACCEPT; iptables -A OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT
|
||||
PreDown = HOMENET=192.168.0.0/16; HOMENET2=10.0.0.0/8; HOMENET3=172.16.0.0/12; iptables -D OUTPUT ! -o %i -m mark ! --mark $(wg show %i fwmark) -m addrtype ! --dst-type LOCAL -j REJECT; iptables -D OUTPUT -s $HOMENET -j ACCEPT; iptables -D OUTPUT -s $HOMENET2 -j ACCEPT; iptables -D OUTPUT -s $HOMENET3 -j ACCEPT
|
||||
```
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
|
Loading…
Reference in New Issue
Block a user