Доброй ночи, уважаемые красноглазики. В своё время забил на тему сетей и теперь, когда сталкнулся с конкретными задачами с ними связанными, познал свою ничтожность. Я очень надеюсь, что кто-нибудь поможет мне в моей проблеме. И так как я решил в свободное время полностью отдать себя наверстыванию упущенного, то с радостю приму актуальные полезные ссылки по тематике. Но проблема здесь и сейчас, надо бы её решить, даже если я ничего не пойму. Заранее благодарю за отзывчивость.
- Дано:
- VPS с настроенным OpenVPN (udp) ;;
- Белая штука с лампочками (TP-LINK) ;;
- Кампуктер с Debian 9 ;;
- Whonix (Gateway + Workstation) в Virtualbox ;;
- Скрипт 00-iptables (прикрепил), бросил его в /etc/network/if-up.d ;;
- Как обстоят дела:
- VPN я настроил кое-как, работает хорошо. Скрипт для ФВ, упомянутый выше гонит трафик через VPN, как я понимаю (а я не понимаю), скорее всего я просто несу какую-то дичь, прошу за это простить. Короче, скрипт отработал - в интернет без vpn я не попадаю (вроде так я и хотел).
- Виртуалка работает, коннектится через VPN куда ей нужно (tor), с этим всё ок.
- Проблемы:
- Не могу попасть на localhost на своём Дебиане, чтобы работать с проектами (LAMP серв) ;;
- Не могу приконнектить моб. устройства к Дебиану через вифи (KDE Connect например) ;;
- То же касается и принтера, который работает через вифи ;;
- Всё ок после " iptables -F " ;;
Можете пинать за тупость, лишь бы помогли. Гуглить не отправляйте - не пойду, нагуглился. Нужно разбираться с самого дна, но пока нет времени, обещаю что выучу тему, но пока прошу вашей помощи.
#!/bin/bash
PRIMARY=enp3s0
VPN_SERVER=XXX.XXX.XXX.XXX # < ----- Тут адр. моего впс
# Не понял что это и зачем, команда ничего не выдаёт.
GATEWAY=`ip route | grep $PRIMARY | egrep "^0\.0\.0\.0" | tr -s " " | cut -d" " -f2`
# provided by pppd: interface name
TUNNEL=tun0
LOCAL_NET=192.168.0.0/16
iptables -F
iptables -N MYVPN
# Exceptions for local traffic & vpn server
iptables -A MYVPN -o lo -j RETURN
iptables -A MYVPN -o ${TUNNEL} -j RETURN
iptables -A MYVPN --dst 127.0.0.1 -j RETURN
iptables -A MYVPN --dst $LOCAL_NET -j RETURN
#iptables -A MYVPN --dst ${SERVER} -j RETURN
iptables -A MYVPN --dst ${VPN_SERVER} -j RETURN
# Add extra local nets here as necessary
iptables -A MYVPN -j DROP
# MYVPN traffic leaving this host:
iptables -A OUTPUT -p tcp --syn -j MYVPN
iptables -A OUTPUT -p icmp -j MYVPN
iptables -A OUTPUT -p udp -j MYVPN
user@host:~$ ip route
0.0.0.0/1 via 10.8.0.1 dev tun0
default via 192.168.0.1 dev enp3s0 proto static metric 100
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.2
128.0.0.0/1 via 10.8.0.1 dev tun0
XXX.XXX.0.0/16 dev enp3s0 scope link metric 1000
XXX.XXX.XXX.XXX via 192.168.0.1 dev enp3s0 # <--- XXX... = адрес впн серв.
192.168.0.0/24 dev enp3s0 proto kernel scope link src 192.168.0.100 metric 100
user@host:~$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MYVPN tcp -- anywhere anywhere tcp flags:FIN,SYN,RST,ACK/SYN
MYVPN icmp -- anywhere anywhere
MYVPN udp -- anywhere anywhere
Chain MYVPN (3 references)
target prot opt source destination
RETURN all -- anywhere anywhere
RETURN all -- anywhere anywhere
RETURN all -- anywhere localhost
RETURN all -- anywhere 192.168.0.0/16
RETURN all -- anywhere Тут адрес впн
DROP all -- anywhere anywhere
Скорее всего не дал всей нужной информации, сообщите пжл, что требуется выложить.