プロキシサーバーを介したインターネット用FreeBSDの構成

エントリー



私は未知のOSであるFreeBSDの研究を始めることにしました。 なぜなら 勤務時間外の空き時間は壊滅的に短く、テストサーバーが職場で発生しました。 しかし、主な問題は、すべての通常のオフィスで、インターネットがプロキシまたはNAT、私の場合はプロキシを介して配信されることでした。 メインプロキシサーバーは、 NTLM認証を使用したFreebsdでも発生します。 また、プロキシサーバーで基本認証を使用してfreebsdをセットアップすることも検討します。



FreeBSDテストには追加のソフトウェアがないため、自由にターミナルとcshシェルを使用できます。



したがって、基本認証。


ここではすべてが簡単です。2つのファイルを編集します。

1) /. cshrcまたは/ home / %username% /.cshrc (ユーザーフォルダー)

setenv HTTP_PROXY login:pass@server:port

setenv FTP_PROXY login:pass@server:port

setenv http_proxy login:pass@server:port

setenv ftp_proxy login:pass@server:port








2) /etc/make.conf

FETCH_ENV=HTTP_PROXY=http://login:pass@server:port

FETCH_ENV=FTP_PROXY=http://login:pass@server:port

FETCH_ENV=http_proxy=http://login:pass@server:port

FETCH_ENV=ftp_proxy=http://login:pass@server:port








再ログインすると、すべてのプログラムがプロキシサーバーの存在を認識します。プロキシサーバーで認証がない場合、ユーザー名とパスワードを書き込む必要はありません。

setenv HTTP_PROXY server:port







.cshrcファイルにはいくつかの微妙な点があります。一般に、作業するユーザーディレクトリからファイルを編集するのが最善です。たとえば、rootの場合は/root/.cshrcになります。



NTLM認証。


個人的に、私の例では、上記の設定により、NTLM認証を使用するオフィスプロキシサーバーを介して作業することができました。ドメインユーザー名をユーザーのパスワードで登録しましたが、完全に機能しませんでした! ftpサーバーからしかダウンロードできませんでした。これが特別に構成されたサーバーの横棒であるか、これが正常かはわかりませんが、一番下の行は問題なく必要なパッケージをダウンロードできるということです。 ...



FreeBSDの標準的な手段では、ntlm認証は失敗し、追加のソフトウェアが必要になります。 私は個人的にcntlmプログラムを使用して構成し、検討します。



可能な任意の方法でプログラムをインストールし、私の方法は簡単です...

# whereis cntlm

# cd /usr/ports/www/cntlm

# make install






1)ファイル/usr/local/etc/cntlm.confを編集します

Username<------>MyUserName( Windows)

Domain<><------>MyDomain( Windows)

Password<------>MyPassword( Windows)

Proxy<-><------>ServerProxy:port( )

Listen<><------>3128( )

Auth<--><------>NTLM( proxy)

Flags<-><------>0x07820000( )






2) /etc/rc.confに行を追加します

cntlm_enable="YES"

cntlm_config="/usr/local/etc/cntlm.conf"






3)デーモンを実行します:

/usr/local/etc/rc.d/cntlm start







cntlmは、設定で指定したポートを使用してローカルプロキシサーバー(リレー)を起動します。将来、最初のバージョンで行ったように、すべてのシステム設定をこのローカルサーバー(デーモン)で構成する必要があります。

/.cshrc

setenv HTTP_PROXY 127.0.0.1:3128



setenv ftp_proxy 127.0.0.1:3128






/etc/make.conf

FETCH_ENV=HTTP_PROXY=http://127.0.0.1:3128



FETCH_ENV=ftp_proxy=http://127.0.0.1:3128








そして、理論的にはすべて機能します!



エラー処理


しかし、それは私にとってはうまくいきませんでした...これで、私はcntlmのために作らなければならなかったいくつかの追加設定を説明します

最初に、プロキシサーバーの認証パラメーターを明確にします。そのために、次のコマンドを実行します。

# cntlm -M google.ru





プログラムは次のようなものを生成します。

Config profile 1/11... OK (HTTP code: 301)

----------------------------[ Profile 0 ]------

Auth NTLMv2

PassNTLMv2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx








NTLMv2認証を持っていることがわかりました。cntlm.confを編集します

Auth<-><------>NTLMv2

PassNTLMv2<-><------>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx








認証にはNTまたはLMを使用できます。その場合は、それぞれAuth行とFlags行を変更します。

Auth--------Flags

NT<-><------>0x05820000

LM<-><------>0x06820000

NTLM<-><------>0x07820000








また、デーモンの実行中に問題が発生しました。

# /usr/local/etc/rc.d/cntlm start





それに応じて、

Starting cntlm.

Exitting with error. Check daemon logs or run with -v.

/usr/local/etc/rc.d/cntlm: WARNING: failed to start cntlm








これはログに書き込まれます。

cntlm: Cannot access specified config file: %%{PREFIX

root: /usr/local/etc/rc.d/cntlm: WARNING: failed to start cntlm






googl'om私は本当にこのトピックについて何も見つけられなかったので、この問題の解決策を説明することにしました。

/usr/local/etc/rc.d/フォルダー内のcntlm実行可能ファイルを編集する必要があります

変更します:

:$ {cntlm_config = "%% {PREFIX} /cntlm.conf"}



:$ {cntlm_config = "/ usr / local / etc / cntlm.conf"}



これらの追加後、すべてが正常に機能し始めました。



All Articles