インフラエンジニアの技術ブログ

日々学んでいることをブログでまとめていきます。

AWSでproxyサーバー(squid)をたててみた_検証

◆前提

AWSで以下構築済
VPC
10.0.1.0/16

プライベートサブネット
10.0.0.0/24

パブリックサブネット
10.0.1.0/24

 

◆構成
private subnet
EC2--名称client

public subnet
EC2--名称proxy(squidを導入)

--->clientからネットワークアクセスできるようにする


1.プライベートサブネットおよびパブリックサブネット
各々にEC2を構築(手順は割愛)

VPCとサブネットは◆前提にある項目を設定

タグの追加で構成なる名称を設定

 

2.proxyにsquidを構築

sshでログイン後以下実施
#インストール
sudo yum update
sudo yum install squid
#バージョン確認
squid -v
---(出力例)--->
Squid Cache: Version 3.5.20
~~~(以下省略)~~~

#Squid自動起動設定と再起動
sudo systemctl enable squid
sudo systemctl restart squid

#Squidがポート3128を使用しているか確認
sudo lsof -i:3128
---(出力例)--->
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
squid 3433 squid 11u IPv6 21699 0t0 TCP *:squid (LISTEN)

 

3.AWSコンソールで、セキュリティグループ設定変更
#proxyのセキュリティグループから以下追加
カスタムTCP プロトコルTCP ポート範囲3128 ソース 0.0.0.0/0
(検証目的なのでソースはすべてとした)
#clientのセキュリティグループから以下追加
タイプ すべてのICMP プロトコル ICMP ソース 10.0.0.0/24

 

4.proxy->clientへログイン、clientで設定
#管理者へ切替
sudo su
#pemファイル作成
vi private.pem
-->作業端末上にある,sshアクセス時に利用するpemファイルを開き内容をコピペ

#読み取り権限付与
chmod 400 private.pem

#proxy->clientへsshログイン
ssh ec2-user@<client_private_ipaddress> -i privatekey.pem

#yum
vi /etc/yum.conf
最後の行に以下追記
proxy=http://:3128

#wget
vi /etc/wgetrc
以下のように追記

#https_proxy = http://proxy.yoyodyne.com:18023/
#http_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/

http_proxy = http://:3128
https_proxy = https://:3128

#curl
vi ~/.curlrc
以下のように追記(新規作成)
proxy=http://:3128

 

5.動作確認

#curl

curl https://www.google.com

---(出力例:失敗)--->

curl: (7) Failed to connect to <private_ipaddress> port 3128: Connection refused
---(出力例:成功)--->
<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ja"><head>
~~~以下省略~~~

 

#yum

yum update
---(出力例)--->
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
amzn2extra-docker | 3.0 kB 00:00
No packages marked for update

 

#wget

wget http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz
---(出力例)--->
--2021-02-13 14:20:17-- http://ftp.gnu.org/gnu/wget/wget-1.18.tar.gz
Connecting to <private_ipaddresss>:3128... connected.
Proxy request sent, awaiting response... 200 OK
Length: 3865525 (3.7M) [application/x-gzip]
Saving to: ‘wget-1.18.tar.gz’

100%[======================================>] 3,865,525 2.87MB/s in 1.3s

2021-xx-xx xx:xx:xx (2.87 MB/s) - ‘wget-1.18.tar.gz’ saved [3865525/3865525]

 

参考

Squidで検証用のプロキシを作ってみた | DevelopersIO

 

プロキシ設定まとめ - Qiita