プロキシサーバーを介したインターネット用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"}

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

Source: https://habr.com/ru/post/J112329/


All Articles