Gentoo」カテゴリーアーカイブ

Gentoo Linuxおよび他のディストリビューションを含むLinux全般についてのカテゴリーです。

Raspberry Piにプロキシサーバーをインストールする方法

Raspberry Piにプロキシサーバー「Squid」をインストールするメモ。

インストール

$ sudo apt install squid

設定

設定ファイルは/etc/squid/squid.confになります。
お好みのエディタで編集してください。

$ sudo vi /etc/squid/squid.conf

Squidの起動

$ sudo service squid start

起動後、設定ファイルをリロードしたい場合は次のようにします。

$ sudo service squid reload

Squidの設定メモ

使用ポートを3128番に設定して、すべてのアクセスを許可

http_port 3128

acl all src 0.0.0.0/0
http_access allow all

特定のIPアドレスからのアクセスのみ許可

http_port 3128

acl host src 192.168.0.12/32
http_access allow host

acl all src 0.0.0.0/0
http_access deny all

IPアドレスを範囲で許可したい場合は192.168.0.0/24192.168.0.1-192.168.0.255
のような形式で設定することもできます。

特定のドメインのみアクセスを許可

http_port 3128

acl allowlist dstdomain "/etc/squid/allowlist"
http_access allow allowlist

acl all src 0.0.0.0/0
http_access deny all

allowlist

www.example.com
.example.net

のように許可したいドメインを記述します。

.から始まるドメインはサブドメインすべてが許可される設定になります。

特定のIPアドレスから特定のドメインのみアクセスを許可

http_port 3128

acl allowlist dstdomain "/etc/squid/allowlist"
http_access deny !allowlist

acl host src 192.168.0.12/32
http_access allow host

acl all src 0.0.0.0/0
http_access deny all

その他の設定

以下は必要な場合のみ/etc/squid/squid.confに追加してください。

プロキシサーバーを経由しているという情報を隠したい場合

forwarded_for off
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
visible_hostname unknown

リファラー情報を送信したくない場合

request_header_access Referer deny all

リンク

FrontPage – Squid Web Proxy Wiki
https://wiki.squid-cache.org/

Raspberry PiにFTPサーバーをインストールする方法

Raspberry PiでFTPサーバー(vsftpd)を運用する手順について。

インストール

$ sudo apt install vsftpd

設定

$ sudo vi /etc/vsftpd.conf

vsftpd.confで設定できる内容は以下のような感じです。

anonymous_enableAnonymousでのログインを許可する場合はYES
local_enableローカルユーザー(piやuseraddで作成したユーザー)でのログインを有効にする場合はYES
write_enableFTPサーバーへの書き込みを有効にする場合はYES
local_umaskumaskの設定(デフォルトは077)
chroot_local_userホームディレクトリより上の階層にアクセスできるようにする場合はYES
pasv_enableパッシブモードを有効にする場合はYES
vsftpd.confで設定できる主な内容

※パスワードを設定していない場合や忘れてしまった場合は、sudo passwd ユーザー名で設定できます。

FTPサーバーの起動

$ sudo service vsftpd restart

530 Login incorrect

FTPクライアントからユーザー名とパスワードを入力した際530 Login incorrectとなる場合はユーザー名かパスワードをミスタイプしているか可能性があるので再確認してみてください。

その他、該当ユーザーのログインシェルをnologingit-shellなどにしている場合も同様のエラーとなるようです。

$ sudo usermod -s /bin/bash ユーザー名

でログインシェルを変更できます。必要に応じて試してみてください。

Raspberry Piに関するTIPS

Raspberry Piの温度を調べたい

下記コマンドで温度が調べられます。

/opt/vc/bin/vcgencmd measure_temp

アップデート

Raspberry Piにインストールしているソフトウェアをアップデートしたい場合は、下記コマンドを実行します。

sudo apt update
sudo apt upgrade

もしくは

sudo apt update
sudo apt full-upgrade

マウスの動作が遅い

/boot/cmdline.txtusbhid.mousepollの設定を追加して再起動します。

usbhid.mousepoll=0

キーボードのCtrlキーとCapsキーを入れ替えたい

/etc/default/keyboardXKBOPTIONSの設定を追加して再起動します。

XKBOPTIONS="ctrl:swapcaps"

Swapが発生して遅くなった

Raspberry Piでの場合、特にSDカードを使っているとSwapが発生した場合に動作が遅くなる場合があります。

メモリの使用状況はfreeコマンドで確認できますので、Swap領域が使用されている場合は解放してみることで改善する場合もあるかと思います。

$ free
total        used        free      shared  buff/cache   available
Mem:        7905608     1560764     3883220      164912     2461624     5929408
Swap:        102396       32768       69628
$ sudo /etc/init.d/dphys-swapfile restart
$ free
total        used        free      shared  buff/cache   available
Mem:        7905608     1893808     3505060      145496     2506740     5615644
Swap:        102396           0      102396

※うまく解放できない場合はPCを再起動してもいいと思います。

IPアドレスを固定したい

/etc/dhcpcd.confに以下のような内容を追加します。(192.168.1.23は固定したいIPアドレス、1.1.1.1はネームサーバーの例です。)

interface eth0
static ip_address=192.168.1.23/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1

dhcpcd.confが修正できたら再起動するか、下記コマンドを実行します。

sudo ipconfig eth0 down
sudo ipconfig eth0 up

無線LANのIPアドレスを固定したい場合はeth0の部分をwlan0に読み替えてください。

interface wlan0

SSIDステルス機能を有効にしている無線LANに接続したい

wpa_passphrase "SSID名" "パスワード"

を実行して、表示された内容を/etc/wpa_supplicant/wpa_supplicant.confに追加します。

もしくは、

sudo wpa_passphrase "SSID名" "パスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf

を実行します。

更に、エディタでwpa_supplicant.confを開いてnetwork={…}内に

scan_ssid=1

を追加し、再起動します。

NFSサーバーとして運用したい

まず、nfs-kernel-serverをインストールします。

sudo apt install nfs-kernel-server

インストールできたら、/etc/exportsを以下のような感じで設定します。(/exportを公開する場合の例です。)

/export 192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)

※NFSクライアントを制限する必要がない場合は192.168.1.0/24の部分を*とします。

設定できたら下記コマンドを実行します。

sudo exportfs -rav

リンク

Network File System (NFS) – Raspberry Pi Documentation
https://www.raspberrypi.org/documentation/configuration/nfs.md

Sambaサーバーにアクセスしたい

とりあえずSambaのファイルを読み書きしたいという場合はファイルマネージャー「PCmanFM」が使えます。

アドレスバーに

smb://192.168.1.23/shared_folder

と入力してみてください。

192.168.1.23はサーバーのIPアドレス、shared_folderはフォルダー名です。

SDカードの認識状況を確認したい

lsblkコマンドを実行すると次のような感じで表示されます。

$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 29.7G 0 disk
└─sda1 8:1 1 29.7G 0 part /media/pi/6439-3038
mmcblk0 179:0 0 29.7G 0 disk
├─mmcblk0p1 179:1 0 256M 0 part /boot
└─mmcblk0p2 179:2 0 29.5G 0 part /

mmcblk0というのがOS(raspbian)がインストールされているSDカード、sdaというのがカードリーダーに挿したmicroSDカードです。(実際の表示内容は環境によって変ってくると思います。)