Witam,
mam skonfigurowany router na linuxie (reguły iptables, systemowy firewall i apparmor wyłączony) z openvpn, za tym routerem mam komputer z Windowsem, wszystko działa poprawnie, ale gdy na tym komputerze z Windowsem próbuje załadować plik na jakąkolwiek stronę gdzie można uploadować, wszystkie połaczenia są przerywane ,
-przerwanie uploadu
-przerwanie połączenia openvpn
-przerwanie sesji ssh z routerem (łączenie poza openvpn)
Po chwili openvpn połączy się ponownie i po RDP dostane się do tego komputera z Windowsem to upload jest przerwany na 1%
Jaka może być przyczyna?
#/bin/bash
#Czyszczenie dotychczasowych regul
iptables -F
iptables -Z
iptables -X
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
#Przypisanie interfejsow do zmiennych
INTERNET="eth3"
LAN="eth2"
DMZ="eth1"
VPN="tun0"
LANNETWORK="10.0.0.0/16"
DMZNETWORK="192.168.0.0/24"
VPNNETWORK="192.168.99.0/24"
VPNPORT="1194"
VPNPROTOKOL="tcp"
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s $LANNETWORK -j ACCEPT
iptables -A INPUT -s $VPNNETWORK -j ACCEPT
iptables -A INPUT -p $VPNPROTOKOL --dport $VPNPORT -j ACCEPT
iptables -A INPUT -i $INTERNET -p tcp -m multiport --dport 22000 -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A FORWARD -i $INTERNET -o $DMZ -j ACCEPT
iptables -A FORWARD -i $DMZ -o $INTERNET -j ACCEPT
iptables -A FORWARD -i $INTERNET -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $LAN -o $INTERNET -j ACCEPT
iptables -A FORWARD -i $DMZ -o $LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $LAN -o $DMZ -j ACCEPT
iptables -A FORWARD -i $INTERNET -o $VPN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $VPN -o $INTERNET -j ACCEPT
iptables -A FORWARD -i $VPN -o $LAN -j ACCEPT
iptables -A FORWARD -i $LAN -o $VPN -j ACCEPT
iptables -A FORWARD -i $DMZ -o $VPN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $VPN -o $DMZ -j ACCEPT
1. W regułkach brakuje dopuszczenia ruchu po loopbacku. Powinien być iptables -i lo -j ACCEPT jako pierwsza reguła. Nie wiem, czy to przyczyna, czy nie.
2. Nigdy nie rób openvpn po TCP. To awaryjna funkcja dla szczególnego przypadku użycia VPN przez firewall wycinający UDP. Zobacz What is TCP Meltdown (https://openvpn.net/faq/what-is-tcp-meltdown/) i Why TCP Over TCP Is A Bad Idea (http://sites.inka.de/bigred/devel/tcp-tcp.html).
3. openvpn jest grymaśny co do MTU - zobacz, czy obniżenie go do 1400 po stronie Windows coś pomoże.
99. Reguły ... --state ESTABLISHED,RELATED -j ACCEPT powinny być zawsze na początku listy (o ile nie zmienia to sematyki), jako early accept. Ale to ma wpływ tylko na wydajność.
1. Dodałem - nie pomogło :(
2 i 3. To chyba nie wina openvpn, komputer Windows za routerem z którego próbuje wykonać upload łączy się z routerem lokalnie przez switch (nie openvpn), ale zmieniłem port na UDP
Dla testu ustawiłem takie reguły iptables i również rozłącza, przyczyna chyba jest gdzieś indziej..
#/bin/bash
#Czyszczenie dotychczasowych regul
iptables -F
iptables -Z
iptables -X
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
#Przypisanie interfejsow do zmiennych
INTERNET="eth3"
LAN="eth2"
DMZ="eth1"
#INTERNET2="eth3"
VPN="tun0"
#IPADMIN="172.16.0.2"
LANNETWORK="10.0.0.0/16"
DMZNETWORK="192.168.0.0/24"
VPNNETWORK="192.168.99.0/24"
VPNPORT="1194"
VPNPROTOKOL="udp"
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $INTERNET -j MASQUERADE
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
lo robisz tylko na INPUT'cie (ewentualnie na OUTPUT'cie, jeżeli jego polityka jest inna niż ACCEPT). Nie robisz na FORWARD, bo lo nie bierze udziału w routingu.
A co do topologii: może rozpisz jaśniej co jak jest pospinane, skąd, dokąd i jakim łączem uploadujesz. Bo zrozumiałem, że Windows łączy się po lanie z routerem i dalej uploaduje coś w świat via openvpn z routera gdzieśtam:
[COŚTAM]--internet--[ServVPN]--internet--[KlientVPN|Router]--lan--[Windows]
lo robisz tylko na INPUT'cie (ewentualnie na OUTPUT'cie, jeżeli jego polityka jest inna niż ACCEPT). Nie robisz na FORWARD, bo lo nie bierze udziału w routingu.
A co do topologii: może rozpisz jaśniej co jak jest pospinane, skąd, dokąd i jakim łączem uploadujesz. Bo zrozumiałem, że Windows łączy się po lanie z routerem i dalej uploaduje coś w świat via openvpn z routera gdzieśtam:
[COŚTAM]--internet--[ServVPN]--internet--[KlientVPN|Router]--lan--[Windows]
Topologia:
[komputer z Windows z którego próbuje wykonać upload]--lan--[linux router iptables]--internet