[Interface]
PrivateKey = <VPN_SERVER_PRIVATE_KEY>
Address = 10.8.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <CLIENT2_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32, 192.168.10.0/24 ## маршруты сами прописываются в таблицу маршрутизации сервера
[Peer]
PublicKey = <CLIENT3_PUBLIC_KEY>
AllowedIPs = 10.8.0.3/32, 192.168.88.0/24 ## маршруты сами прописываются в таблицу маршрутизации сервера
## Forward
sudo sysctl -w net.ipv4.ip_forward=1
## Firewall
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
## Публикуем порт и прокидываем его на сервер в локальной сети за Клиент 2 через VPN
iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.10:80
[Interface]
Address = 10.8.0.2/32
PrivateKey = <CLIENT2_PRIVATE_KEY>
Table = 100
PostUp = ip rule add from 10.8.0.2 table 100; ip route add 192.168.88.0/24 dev wg0; ip route add 10.8.0.0/24 dev wg0; ip rule add fwmark 1/3 table 100
PostDown = ip rule del from 10.8.0.2 table 100; ip route del 192.168.88.0/24 dev wg0; ip route del 10.8.0.0/24 dev wg0; ip rule del fwmark 1/3 table 100
[Peer]
AllowedIPs = 0.0.0.0/0
PublicKey = <VPN_SERVER_PUBLIC_KEY>
Endpoint = <VPN_SERVER_IP>:51820
## Forward
sudo sysctl -w net.ipv4.ip_forward=1
## Firewall
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE
## Вот эта строчка маркирует ответ от веб сервера, а потом на него
## применяется правило (ip rule add fwmark 1/3 table 100) и пакет попадает в таблицу 100 и
## при такой конфигурации будет виден реальный IP клиента.
## При этом сервер 192.168.10.10 в интернет будет выходить через gw (Клиент 2),
## а ответы отправлять в VPN.
iptables -t mangle -A PREROUTING -i wg0 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x1/0x3
iptables -t mangle -A PREROUTING -i enp3s0 -m connmark ! --mark 0x0/0x3 -j CONNMARK --restore-mark --nfmask 0x3 --ctmask 0x3
[Interface]
Address = 10.8.0.3/32
PrivateKey = <CLIENT3_PRIVATE_KEY>
Table = 100
PostUp = ip rule add from 10.8.0.3 table 100; ip route add 192.168.10.0/24 dev wg0; ip route add 10.8.0.0/24 dev wg0; ip rule add fwmark 1/3 table 100
PostDown = ip rule del from 10.8.0.3 table 100; ip route del 192.168.10.0/24 dev wg0; ip route del 10.8.0.0/24 dev wg0; ip rule del fwmark 1/3 table 100
[Peer]
AllowedIPs = 0.0.0.0/0
PublicKey = <VPN_SERVER_PUBLIC_KEY>
Endpoint = <VPN_SERVER_IP>:51820
## Forward
sudo sysctl -w net.ipv4.ip_forward=1
## Firewall
sudo iptables -A FORWARD -i wg0 -j ACCEPT
sudo iptables -A FORWARD -o wg0 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE
main_queue:
build:
context: .
dockerfile: Dockerfile
command: 'php artisan queue:work'
depends_on:
- main_db
networks:
- mm-network
environment:
- DB_CONNECTION=${DB_CONNECTION}
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_DATABASE=${DB_DATABASE}
- DB_USERNAME=${DB_USERNAME}
- DB_PASSWORD=${DB_PASSWORD}
main_queue:
build:
context: .
dockerfile: Dockerfile
command: 'php artisan queue:work'
depends_on:
- main_db
networks:
- mm-network
env_file:
- .env
- По локальной сети, предположим - 192.168.30.10:9000
- Через VPS, предположим - vps_1.org:9001
- Через VPS, предположим - vps_1.org:9001
- Через резервный VPS, предположим - vps_2_reserve.org:9002
ТВ смотрит в интернет"
"приложение смотрит в Интернет", порт смотрит в "Интернет"
Допустимо ли в принципе настраивать NAT на сервере, где установлены AD DC, DNS и DHCP?
version: '3.7'
networks:
zabbix-net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
ip_range: 172.20.240.0/20
services:
postgres-server:
image: postgres:latest
container_name: postgres-server
environment:
POSTGRES_USER: "zabbix"
POSTGRES_PASSWORD: "zabbix_pwd"
POSTGRES_DB: "zabbix"
networks:
zabbix-net:
restart: unless-stopped
zabbix-snmptraps:
image: zabbix/zabbix-snmptraps:alpine-7.0-latest
container_name: zabbix-snmptraps
volumes:
- /zbx_instance/snmptraps:/var/lib/zabbix/snmptraps:rw
- /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro
networks:
zabbix-net:
ports:
- "162:1162/udp"
restart: unless-stopped
zabbix-server-pgsql:
image: zabbix/zabbix-server-pgsql:alpine-7.0-latest
container_name: zabbix-server-pgsql
environment:
DB_SERVER_HOST: "postgres-server"
POSTGRES_USER: "zabbix"
POSTGRES_PASSWORD: "zabbix_pwd"
POSTGRES_DB: "zabbix"
ZBX_ENABLE_SNMP_TRAPS: "true"
networks:
zabbix-net:
ports:
- "10051:10051"
volumes:
- zabbix-snmptraps:/var/lib/zabbix/snmptraps:rw
restart: unless-stopped
zabbix-web-nginx-pgsql:
image: zabbix/zabbix-web-nginx-pgsql:alpine-7.0-latest
container_name: zabbix-web-nginx-pgsql
environment:
ZBX_SERVER_HOST: "zabbix-server-pgsql"
DB_SERVER_HOST: "postgres-server"
POSTGRES_USER: "zabbix"
POSTGRES_PASSWORD: "zabbix_pwd"
POSTGRES_DB: "zabbix"
networks:
zabbix-net:
ports:
- "443:8443"
- "80:8080"
volumes:
- /etc/ssl/nginx:/etc/ssl/nginx:ro
restart: unless-stopped
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin
environment:
PGADMIN_DEFAULT_EMAIL: "user@domain.com"
PGADMIN_DEFAULT_PASSWORD: "SuperSecret"
networks:
zabbix-net:
ports:
- "8083:80"
restart: unless-stopped
volumes:
zabbix-snmptraps:
version: '3.6'
services:
smtp:
image: exim4:v1
container_name: smtp
ports:
- 2025:25
volumes:
- exim4_config:/etc/exim4
- exim4_mail:/var/mail
- exim4_logs:/var/log/exim
restart: unless-stopped
networks:
- localnet
volumes:
exim4_config:
exim4_mail:
exim4_logs:
docker run -it --rm \
-v /opt/exim4/smtpsender04/config:/etc/exim4 \
-v /opt/exim4/smtpsender04/mail:/var/mail ʼ
exim4:v1 /bin/bash -c "exim -bP >/etc/exim4/exim.conf"