見出し画像

【Linux】 プロキシサーバ

機器のVer

作業ログ

サーバ

クライアント(認証パスワードなし)

クライアント(認証パスワードあり)


プロキシサーバ

クライアントの代わりに外部サーバーにアクセスし、アクセス制限やキャッシュを保存してアクセスを高速化させる。

リバースプロキシサーバー:外部からのアクセスを内部サーバーに転送するサーバー
Squid :「プロキシ」と「リバースプロキシ」のサーバー機能を持つソフトウェア。設定ファイルはetc/squid/squid.conf


サーバ側の設定

squidパッケージのインストール

「Complete!」を確認する。

#  yum -y install squid

バージョンの確認

#  squid -v | grep Version

Portの解放

3128を使用するので、ポートの解放を確認し、解放されていなければ解放する。

[root@server ~]# firewall-cmd --add-port=3128/tcp
success

[root@server ~]# firewall-cmd --list-ports
3128/tcp

パスワード認証するためのhtpasswdのインストール

# yum -y install httpd-tools

パスワード認証
設定したユーザ名とパスワードは、/etc/squid/.htpasswd に保存。ファイルがなければ作成する。

# htpasswd -c /etc/squid/.htpasswd user1
New password:
Re-type new password:
Adding password for user user1

パスワードの確認

# cat /etc/squid/.htpasswd

squidの設定

/etc/squid/squid.confの編集

acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl Safe_ports port 80          # http
http_access deny !Safe_ports #ACL 名が Safe_ports (port 80)以外は拒否
http_access allow localnet #ACL 名が localnet (10.0.0.0/8)は許可
http_access deny all #上記以外の条件は全部拒否
http_port 3128 #3128 ポートで listen

設定例

http_port 3128

acl localnet src 192.168.1.0/24
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http

http_access allow localnet
http_access allow localhost
http_access deny all

squidを起動

# systemctl start squid
# systemctl status squid


クライアント側の設定

認証にパスワードを必要としないとき

編集ファイルは.bashrcになるので、バックアップを取る。

# vi .bashrc
============================
以下を追加

 # User specific aliases and functions
export http_proxy=http://user1:test@192.168.2.100:3128
export https_proxy=http://user1:test@192.168.2.100:3128

============================

httpとhttpsプロトコルのトラフィックをプロキシサーバーのIPアドレス192.168.2.100、ポート番号3128で通信するように設定。

適用

# diff .bashrc バックアップファイル  #変更箇所の確認
# source .bashrc                 #適用(何も出力しないこと)

環境変数の確認

接続の確認

適当なサイトに接続する。今回は首相官邸のサイト。

# curl -I https://www.kantei.go.jp/


認証にパスワードを必要とするとき

編集ファイルは.bashrcになるので、バックアップを取る。

# vi .bashrc
============================
以下を追加

 # User specific aliases and functions
export http_proxy=http://192.168.2.100:3128
export https_proxy=http://192.168.2.100:3128

============================

httpとhttpsプロトコルのトラフィックをプロキシサーバーのIPアドレス192.168.2.100、ポート番号3128で通信するように設定。また、user1というユーザー名とtestというパスワードを使用して、プロキシサーバーに認証するように設定。

適用

# diff .bashrc バックアップファイル  #変更箇所の確認
# source .bashrc                 #適用

環境変数の確認

接続の確認

適当なサイトに接続する。今回は首相官邸のサイト。

# curl -I https://www.kantei.go.jp/

ログの確認

# cat /var/log/squid/access.log


この記事が参加している募集

この経験に学べ

よろしければサポートお願いします!よりいい情報を発信します。