非常に長い間、この同じ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コマンドを使用して、カーネルモジュールが構築されます。 それをダウンロードするだけで、次の一連のアクションを実行しています。
- ディレクトリ/lib/modules/ut.version.your.kernel/kernel/net/kvnetを作成します
- kvnet.koファイルをそれにコピーします
- depmod -a
- modprobe kvnet
モジュールは問題なくロードされるはずです(カーネル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