Gentoo用のKerio VPNクライアント

非常に長い間、この同じkerio vpnクライアントを介して私に配布されたインターネットを使用するために、Windowsを搭載した別のコンピューターをプロキシとして保持する必要がありました。 厳密に監視し、アンチウイルスなどを更新する必要があった唯一のマシンでした。 なぜ窓なのか? はい、前述のソフトウェアはこのOS専用でした。 なぜプロキシなのか? はい、kvcが何らかの理由でネットワーク接続を確立するため、ローカルにインストールされたアプリケーションのみがインターネットに接続できます...何らかの方法で、このWindowsからゲートウェイを構成できませんでした。

しかし最近、私には(そして、おそらくこの記事を読んでいる人にも)抜け道があることがわかりました



それでは始めましょう。



ソフトウェアは、核モジュールとネットワークデーモンで構成されており、実際には接続を確立します。

kerioのWebサイトで、Ubuntu / Debian用の既製* .debパッケージをダウンロードできます( download.kerio.com/archive/download.php )。 これらのインストールは、インストールと構成の手順が添付されていることに加えて、非常に簡単です。

しかし、Gentooを搭載したマシンにすべてをインストールして設定する必要がありました。 ホームルーターはその下で回転しています。



設置





幸いなことに、モジュールのソースコードは同じリンクからダウンロードすることもできます(後で判明したように、debパッケージにはソースコードも含まれていました)。

したがって、ソースコード(kvnetカーネルモジュールソース)をダウンロードします。 パッケージを展開し、 kvnet / drivers / vpn / linuxディレクトリに移動します。

ここには、有用なものを抽出できないソースコードとMakefileがあります。 短いGoogle検索の後、kerioフォーラムで解決策が見つかりました(Makefile構文で何も理解していないため、googleが必要でした)。

Makefileを次のようにする必要があります。



obj-m += kvnet.o

KDIR:= /lib/modules/$(shell uname -r)/build

PWD:=$(shell pwd)

kvnet-objs := \

init.o \

io_dev.o \

io_read.o \

io_write.o \

net_dev.o \

queue.o \

vnet.o \

utils.o



EXTRA_CFLAGS += -O -Wall -DMODULE -DWINNT=0 -DDBG=0 -D_LINUX

default:

$(MAKE) -C $(KDIR) M=$(PWD) modules



clean:

-rm -f *.o *.ko *.cmd *.flags *.mod.c








ここで、 makeコマンドを使用して、カーネルモジュールが構築されます。 それをダウンロードするだけで、次の一連のアクションを実行しています。







モジュールは問題なくロードされるはずです(カーネル2.6.27-2.6.30で試されました)。

それでは悪魔に取り掛かりましょう。 記事の冒頭で与えられたのと同じリンクで、ファイルkerio-kvc_6.6.0-5729-1_i386.debをダウンロードします

開梱します。 次に、現れたdata.tar.gzファイルを解凍します

そこから、ファイルusr / lib / libkvnet.oおよび/ usr / sbin / kvpnsvcを適切なディレクトリにすぐに転送します。 その後、次の内容で構成ファイル/etc/kerio-kvc.confを作成します。



  <構成>
  <接続>
  <接続タイプ=「永続的」>
   <サーバー> un。 サーバー</ server>
   <port> 4090 </ port>
   <username>ユーザー名</ username>
   <password> XOR:Xorのパスワード</ password>
   <fingerprint>サーバーの指紋</ fingerprint>
   <アクティブ> 1 </アクティブ>
  </ connection>
  </ connections>
 </ config>


残念ながら、パスワードと指紋を生成する方法はわかりませんが、ubuntuを使用して仮想マシンから構成を借用しました。 そこで、設定は次のコマンドによって実行されました: dpkg-reconfigure kerio-kvc 、その後サーバーIP、ログイン、パスワードをインタラクティブに入力し、パスワードがクエリされ、サーバーは自動的に指紋を要求しました。

関連情報が得られたらすぐに、すぐに記事に追加します。



configを作成しました。次に実行を試みます。



kvpnsvc







悪魔はエラーで落ちました



kvpncsvc:シンボル検索エラー:./kvpncsvc:未定義シンボル:gzopen64



ソリューションはkerioフォーラムでも見つかりました。 16進エディターでkvpncsvcファイルを開き、gzopen64を含む行を見つける必要があります。 最後の2文字を削除する必要があります。 つまり バイト36 34の代わりに00 00を入力します。 その後、すべてがスムーズに始まります。

デーモンは、起動されたディレクトリにログを含むフォルダーを作成することに注意してください。

さらに、ケリオのプログラマーは、悪魔を書くときに彼らのレパートリーの中にいました。 接続するとき、デーモンはサーバーから受け取った設定からデフォルトゲートウェイを設定する必要があります。設定しない場合、デーモンは接続を介したルーティングを拒否します。 何かを誤解したかもしれませんが、接続を確立し、必要なゲートウェイを手動で設定したとき、インターネットがなく、ログにデーモンはパケットをルーティングできないと言っていました。 したがって、デーモンを起動する前に、デフォルトゲートウェイを削除する(およびLANが機能するために必要なルートを登録する)必要があります。



ルートの問題は、/ etc / conf.d / netファイルに追加することで解決しました

また、デーモンを起動するために、次のファイルが作成されました。

/ sbin / kerio_start:



#!/bin/bash

route del default

modprobe kvnet

cd /var/log/kvnet

kvpncsvc








/etc/init.d/kerio



#!/sbin/runscript

# Copyright 1999-2009 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: $



depend() {

need net

}



start() {

ebegin "Startung Kerio VPN Client Daemon"

start-stop-daemon --start --quiet --chuid root --exec /sbin/start_kerio

eend 0

}



stop() {

ebegin "Stopping Kerio VPN Client Daemon"

start-stop-daemon --stop --quiet --user dconnect --retry 5 --signal 9 --exec kvpncsvc

eend 0

}









これらのファイルを実行可能にする必要があり、接続を開始できます



/etc/init.d/kerio start






All Articles