Pomoc [OpenVPN] Statyczne IP dla wybranych klientów

qiui

System Engineer
Q Specialist
29 Listopad 2013
168
35
28
QNAP
TS-x51+
Ethernet
1 GbE
Cześć,
czy da się przypisać stały adres IP wybranym klientom w konfiguracji OpenVPN Server?
W konfiguracji QTS niczego nie znalazłem, ale na pewno znacie jakieś myki, żeby pogrzebać gdzieś w bebechach serwera :Dumny:

Wersja oprogramowania Firmware: 4.2.2 Build 20160823
Model serwera: QNAP TS-451+
 
Nie bardzo o to mi chodziło.
O ile mniej więcej jestem w stanie skonfigurować stałe IP dla stacji, to jak to zrobić na QNAPie, gdzie wszystko co zrobię mi się kasuje po restarcie serwera?
 
Po paru dniach szukania i testowania różnych rozwiązań, znalazłem takie, które spełnia moje oczekiwania.
  1. Utworzyłem folder na konfigurację klienta OpenVPN (client-config-dir)
    Kod:
    mkdir /etc/config/openvpn/client_config
  2. Wewnątrz powyższego polderu tworzymy pliki per użytkownik QNAPa z uprawnieniem logowania przez OpenVPN. Wewnątrz pliku wpisujemy tylko
    Kod:
    ifconfig-push 10.8.2.x 10.8.2.y
    gdzie x, y to mapa adresów IP z poniższej listy
    Kod:
    [  1,  2] [  5,  6] [  9, 10] [ 13, 14] [ 17, 18]
    [ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
    [ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
    [ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
    [ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
    [101,102] [105,106] [109,110] [113,114] [117,118]
    [121,122] [125,126] [129,130] [133,134] [137,138]
    [141,142] [145,146] [149,150] [153,154] [157,158]
    [161,162] [165,166] [169,170] [173,174] [177,178]
    [181,182] [185,186] [189,190] [193,194] [197,198]
    [201,202] [205,206] [209,210] [213,214] [217,218]
    [221,222] [225,226] [229,230] [233,234] [237,238]
    [241,242] [245,246] [249,250] [253,254]
    Proponuję wybierać dalsze IP, a pierwsze pozostawić na automatyczne przypisanie.
  3. Tak jak zasugerowałeś @pigers skorzystałem z autostartu. W skrypcie dopisałem dwie linie
    Kod:
    /bin/sed -i "206i /bin/sed -i '13i client-config-dir \\\/etc\\\/config\\\/openvpn\\\/client_config' /etc/openvpn/server.conf" /etc/init.d/vpn_openvpn.sh
    /etc/init.d/vpn_openvpn.sh restart
Temat do zamknięcia.
 
QNAP TS-251 /4.3.4.0435/ , autostart trochę inaczej jest realizowany : Sprzęt - Ogólne - plik autorun.sh. /po wcześniejszym:
mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config . zgodnie z Running Your Own Application at Startup - QNAPedia

Wszystko zgodnie z opisem kolegi giui a OPENVPN dalej przyznaje adresy jak chce.
/etc/openvpn/server.conf pozostaje niezmieniony i client-config-dir nie działa :(

Problem dalej otwarty: jak nadawać stałe adresy IP?
 
Firmware najnowsze: 4.3.4.0435.
Skrypt się uruchamia.

Coś mi się widzi, że client-config-dir jest pomijane.

W /etc/openvpn/server.conf dopisane:

client-config-dir /etc/openvpn/client_config

Utworzyłem odpowiedni katalog
client_config a tam umieściłem plik user01, user02 itd.
w plikach tylko wpis: ifconfig-push 10.8.2.x 10.8.2.y /zgodnie z mapą/
Restart qvpn i nic. Dalej adresy przyznawane są z dhcp.

Brak mi już pomysłów :((
 
Cześć. W końcu udało mi się dotrzeć do pliku konfiguracyjnego, który należy edytować. Znajduje się on w lokalizacji zainstalowanej aplikacji "QVPN Service". Dokładniej chodzi o plik vpn_openvpn.sh, który u mnie leży w lokalizacji
Kod:
/share/CACHEDEV1_DATA/.qpkg/QVPN/etc/init.d/vpn_openvpn.sh
W tym pliku powinieneś odnaleźć znajomo wyglądający fragment pliku konfiguracyjnego, który jest generowany po uruchomieniu OpenVPN wewnątrz "QVPN Service". Nie mam pewności, czy u wszystkich tak samo to wygląda, ale u mnie zaczyna się to od wiersza 70, który wygląda tak:
Kod:
        $(/bin/cat > "${VPN_SERVER_CONF}" <<-__EOF__
                cd /etc/openvpn
                dev tun
                keepalive 10 60
                reneg-sec 0
               ...
Jak już dopiszesz swój
Kod:
client-config-dir /etc/openvpn/client_config
to po restarcie OpenVPN, połączeni klienci powinni uzyskiwać odpowiednie IP.
 
/share/CACHEDEV1_DATA/.qpkg/QVPN/etc/init.d/vpn_openvpn.sh

U mnie lokalizacja identyczna.

Wszystko niby oki a nie działa.
client-config-dir jest dopisane ale nie chce zadziałać :(
Rozkręciłem uprawnienia client_config 777 i user001 777
być może ifconfig-push nie wystarczy ?
Po restarcie dalej dhcp.

Może klient ma być inaczej skonfigurowany u mnie tak:
client
dev tun2001
script-security 3
proto udp
explicit-exit-notify 1
remote nazwa.com 1194
resolv-retry infinite
nobind
ca ca.crt
auth-user-pass
reneg-sec 0
cipher AES-128-CBC
tls-cipher TLS-SRP-SHA-RSA-WITH-3DES-EDE-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-AES-256-CBC-SHA
comp-lzo

Konfig serwera:
.......

client-connect /etc/openvpn/connect.sh
client-disconnect /etc/openvpn/disconnect.sh
..........


port 1194
proto udp
max-clients 5
server 10.8.0.0 255.255.255.0
client-config-dir /etc/openvpn/client_config


push "dhcp-option DNS 192.168.2.1" <-------- może tu ?

..........



NIE DZIAŁA :(((
Może mapa dopuszczonych adresów? Zamieniałem x i y i nic.

Mam zainstalowany QVPN Service 1.1.158.
 
Nie widzę pełnej konfiguracji, ale pierwsze co mi przychodzi do głowy, to po stronie serwera w pliku vpn_openvpn.sh musisz odkomentować wiersz
Kod:
username-as-common-name
.