【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
この記事が参加している募集
よろしければサポートお願いします!よりいい情報を発信します。