【私の備忘録】Cisco機のDHCP機能でIP固定割り振り

設定したDHCPで自動割り振りする設定をしましたが、サーバ用に固定IPを割り振ります。

RT1(config)#ip dhcp pool *****
RT1(dhcp-config)#host ***.***.***.*** 255.255.255.0 #固定IPを指定
RT1(dhcp-config)#client-identifier 01**.****.****.** #MACアドレスを指定※バインディング
RT1(dhcp-config)#exit

ここで、
% A binding for this client already exists.
バインディング時にエラーが発生したら、特権モードでバインディングを一度解除してもう一度行う。

RT1#clear ip dhcp binding *

【私の備忘録】Cisco1812Jに一般的なファイアー(FW)を設定する

CiscoのFirewall(以下アクセスリスト)は条件に一致したものがあればその後のACLは無視するという仕様です。おそらく一般的なブロードバンドルーターも同じような仕様になっているとおもいますが、気をつけなければいけないのは何もACLに記載していない場合、全ての通信を拒否するという暗黙のDenyがCiscoには定義されているということです。よって、まず拒否するACLを記載していき最後に全てのパケットを許可する設定を記載する必要があります。
今回は拡張アクセスリスト100番台~を設定します。

RT1(config)#access-list 100 deny ip 0.0.0.0 0.255.255.255 any
RT1(config)#access-list 100 deny ip 10.0.0.0 0.255.255.255 any
RT1(config)#access-list 100 deny ip 127.0.0.0 0.255.255.255 any
RT1(config)#access-list 100 deny ip 169.254.0.0 0.0.255.255 any
RT1(config)#access-list 100 deny ip 172.16.0.0 0.15.255.255 any
RT1(config)#access-list 100 deny ip 192.0.2.0 0.0.0.255 any
RT1(config)#access-list 100 deny ip 192.168.0.0 0.0.0.255 any
RT1(config)#access-list 100 deny ip 224.0.0.0 15.255.255.255 any
RT1(config)#access-list 100 deny ip 240.0.0.0 15.255.255.255 any
RT1(config)#access-list 100 deny tcp any any range 137 139
RT1(config)#access-list 100 deny tcp any range 137 139 any
RT1(config)#access-list 100 deny udp any any range netbios-ns netbios-ss
RT1(config)#access-list 100 deny udp any range netbios-ns netbios-ss any
RT1(config)#access-list 100 deny tcp any any eq 445
RT1(config)#access-list 100 deny tcp any eq 445 any
RT1(config)#access-list 100 deny udp any any eq 445
RT1(config)#access-list 100 deny udp any eq 445 any
RT1(config)#access-list 100 deny tcp any any eq telnet
RT1(config)#access-list 100 permit ip any any

・ローカルIPアドレスからWAN側への着信を拒否する
・Microsofot ファイル共有サービスを拒否する・NetBiosのリクエストを拒否する
・445番ポートでのアクセスを拒否する
・Telnetを拒否する
・これら以外のパケットは全て通過させる

RT1(config)#interface dialer 1
RT1(config-if)# ip access-group 100 in

【私の備忘録】Cisco1812Jの初期設定編3ローカル側設定編

ここからローカル側の設定を行います。
VLANを設定し、VLAN1(WANポート)、VLAN10(ローカルポート)で振り分けます。
さらにDHCPを有効にして自動的にIPを取得させます。
NAT設定、デフォルトルートの設定、DNS(Googleより取得)を設定していきます。

RT1(config)#int vlan10
RT1(config-if)#no shut
RT1(config-if)#exit

RT1(config)#int range fa 2-9
RT1(config-if-range)#switchport access vlan 10
RT1(config-if-range)#no shut
RT1(config-if-range)#exit

RT1(config)#service dhcp
RT1(config)#no ip dhcp conflict logging #DHCPデータベースエージェントを無効
RT1(config)#ip dhcp excluded-address 開始IPアドレス 終わりのIPアドレス #DHCPの除外IPを設定する場合
RT1(config)#ip dhcp pool プール名
RT1(dhcp-config)#import all
RT1(dhcp-config)#network IPアドレス サブネットマスク
RT1(dhcp-config)#default-router GWのIPアドレス
RT1(dhcp-config)#exit

NATを利用するIPアドレスの範囲をACLで指定します。今回はaccess-list 1で作成します。
RT1(config)#access-list 1 permit 192.168.0.0 0.0.0.255
RT1(config)#ip nat inside source list 1 interface dialer 1 overload
RT1(config)#dialer-list 1 protocol ip permit
RT1(config)#interface vlan 10
RT1(config-if)#ip nat inside
RT1(config)#interface dialer 1
RT1(config-if)#ip nat outside
RT1(config-if)#exit

LANとWANのつなぎ込みは終了、デフォルトルートの記載が無いとネットにつながらないため以下のように設定する。
RT1(config)#ip route 0.0.0.0 0.0.0.0 dialer 1 permanent

最後にルータのDNSを設定します。
RT1(config-if)#ip dns server
RT1(config-if)#ip domain lookup
RT1(config-if)#ip name-server 8.8.8.8
RT1(config-if)#ip name-server 8.8.4.4

3記事に渡って少し長くなりましたが、以上でWAN側PPPOEの設定からLAN側のIPアドレスの設定 NAT PATの設定と DNSサーバーの設定 デフォルトルートの設定でした。



【私の備忘録】Cisco1812Jの初期設定編2PPPoe設定編

高性能な1812jをブロードバンドルーターのように設定する方法を備忘録に記録しておく

ちなみにルータのIOSバージョンは15.1を使用しています。

Cisco1812JのルータにはFe0とFe1のWAN側ポートが2つ用意されており、Fe0にWAN回線のケーブルを接続する。
RT1(config)#int fa0
RT1(config-if)#pppoe enable
RT1(config-if)#pppoe-client dial-pool-number 1
RT1(config-if)#exit

RT1(config)#int dialer 1
RT1(config-if)#ip add negotiated
RT1(config-if)#mtu 1454
RT1(config-if)#ip tcp adjust-mss 1414
RT1(config-if)#dialer pool 1
RT1(config-if)#dialer idle-timeout 0
RT1(config-if)#dialer-group 1
RT1(config-if)#encapsulation ppp
RT1(config-if)#ppp authentication chap callin
RT1(config-if)#ppp chap hostname *******
RT1(config-if)#ppp chap password *******
RT1(config-if)#ppp ipcp dns request accept
RT1(config-if)#exit

【私の備忘録】Cisco1812Jの初期設定編1

IT屋の資格であるCCNA取得用に購入したCiscoルータの1812J設定の備忘録を残しておく。

まずはルータと設定用PC間でコンソールケーブルで接続する。
設定用PCよりTeratermなどでルータに接続する。
ルータは事前に初期化を終わらせてある。

ダイアログを使って設定するかを最初に聞いてくるのでnoを入力する。
Would you like to enter the initial configuration dialog? [yes/no]: no

初期状態ではシステムログが画面に表示されてしまい、コマンド入力の妨げになってしまう。
まずはログを非表示に設定し、ログにはタイムスタンプを合わせて記録するように設定する。
(config)#no logging console
(config)#logging buffered
(config)#service timestamps debug datetime msec localtime
(config)#service timestamps log datetime msec localtime

次にホストネームを設定する。
(config)#hostname RT1

wordpressで「エラーが発生しました。アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。」と出た場合の対処法

upload_max_filesize を超過した場合の対処法。

phpで設定されているアップロードのファイル上限を変更する

WordPressで”エラーが発生しました。アップロードしたファイルは php.ini で定義された upload_max_filesize を超過しています。”と出た場合、ファイル上限の設定を変更する必要があります。

サーバ環境

  • さくらのVPSレンタルスペース
  • Ubuntu18.04
  • php7.2
  • MariaDB10.1.34

# vi /etc/php/7.2/fpm/php.ini

@825行目付近
upload_max_filesize = 100M

@phpを再起動して終了
# systemctl restart php7.2-fpm

[さくらのVPS + Ubuntu18.04] Nginx + PHP + MariaDB + PhpMyAdmin を導入してLEMP環境にする

Ubuntu18.04LTS環境にLEMPを整える

さくらのVPSにLEMP環境を導入

  • Nginx
  • MariaDB
  • PHP
  • phpMyAdmin

1.Nginxを導入する

WEBサーバに高速HTTPサーバソフトウェアであるNginx(エンジンエックス)をインストールします。

# apt update
# apt -y install nginx
# systemctl status nginx
# vi /etc/nginx/sites-available/default

@46行目:サーバ名変更
server_name ubuntu18-isikari-server;

# systemctl restart nginx

さくらのVPSサーバへアクセスしてデフォルトページの表示を確認する。

http://さくらのVPSサーバ名/

2.PHPを導入する

PHPを導入します。
デフォルトのパッケージではphp-fpmが存在しないようで、リポジトリの設定を変更してから導入します。
パッケージはApacheを想定しているようで警告が出ます。HTTPアプリケーションは導入していますので無視します。

# add-apt-repository universe
# apt update
# apt install -y php php-fpm php-common php-mysql php-gd php-cli
# vi /etc/php/7.2/fpm/php.ini

@776行目
cgi.fix_pathinfo=0

# systemctl restart php7.2-fpm
# vi /etc/nginx/sites-available/default

@64行目に追記

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

#systemctl restart nginx
#echo “<?php phpinfo(); ?>” | tee /var/www/html/info.php

さくらのVPSサーバへアクセスしてphpinfoページの表示を確認する。

http://さくらのVPSサーバ名/info.php

3.MariaDBを導入する

データベースシステムにMariaDBを導入します。

# apt -y install mariadb-server
# vi /etc/mysql/mariadb.conf.d/50-server.cnf

@111、112行目を変更
character-set-server = utf8
collation-server = utf8_general_ci

# systemctl restart mariadb

MariaDBの初期設定

# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
… Success!

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

@MariaDBにrootユーザで接続する
# mysql -u root -p
Enter password: 設定したパスワードを入力
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 38
Server version: 10.1.34-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

MariaDB [(none)]> select user,host,password from mysql.user;
+——+———–+——————————————-+
| user | host | password |
+——+———–+——————————————-+
| root | localhost | ************************ |
+——+———–+——————————————-+
1 row in set (0.00 sec)

MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.01 sec)

MariaDB [(none)]> exit
Bye

4.phpMyAdminを導入する。

phpMyAdminを導入してMariaDBを操作できるようにします。

# apt -y install phpmyadmin php-gettext

HTTPサーバソフトウェアを選択します。

必要ないので[No]

# vi /etc/nginx/sites-available/default

@53行目あたりに追記
location /phpmyadmin {
root /usr/share;
index index.php;
location ~ ^/phpmyadmin.+\.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
include fastcgi_params;
}
}

さくらのVPSサーバへアクセスしてphpmyadminページの表示を確認する。

http://さくらのVPSサーバ名/phpmyadmin/

rootログインが出来ない模様ですので新規でログインユーザを作ります。

# mysql -u root -p
Enter password: rootパスワードを入力
MariaDB [(none)]> CREATE USER ‘admin’@’localhost’ IDENTIFIED BY ‘password’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO ‘admin’@’localhost’ WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> exit
Bye

作成したユーザーでphpMyAdminページより再度ログインを試みる。

ログインできました。

Ubuntu18.04LTS環境にLEMP構築は以上です。
お疲れ様でした。

[さくらのVPS + Ubuntu18.04] サーバーの初期設定をする

Ubuntu18.04サーバーの初期設定をする

前回でさくらのVPSにUbuntu18.04サーバ版をインストールしました。
まずは使い始め前のサーバ初期設定を行っていきます。

インストール初期状態でSSH接続が可能ですので、teratermなどでサーバへ接続します。

1.システム最新化

まずはインストールされているアプリケーションを最新化しておきます。バグなども多く修正されておりますので最新版にします。

$sudo apt update
[sudo] password for ***: 自身のパスワード入力
$sudo apt upgrade -y

しばらく待つとアプリケーションが最新版にアップグレードされます。

2.rootユーザーを作成

サーバーを色々と操作する際に、ユーザー権限では毎回sudoというコマンドを入力せねばならず労力となりますのでrootユーザーを作ります。

$sudo -s
[sudo] password for ***: 自身のパスワード入力
# 遷移完了
# passwd root
Enter new UNIX password: rootユーザパスワード入力
Retype new UNIX password: 確認再入力
passwd: password updated successfully
# exit  自身のユーザーへ戻る
exit

$ su –
Password: rootユーザパスワード入力
# 遷移完了

3.vimの設定

テキストエディタはコンフィグ設定など非常に使う機会が多いために便利なよう設定しておきます。

#apt install vim -y
#vi ~/.vimrc

[新規ファイル]
” vim の独自拡張機能を使用(viとの互換性無し)
set nocompatible
” 文字コードを指定
set encoding=utf-8
” 自動認識させる改行コードを指定
set fileformats=unix,dos
” 検索語にマッチした単語をハイライト
” 逆は [ set nohlsearch ]
set hlsearch
” 行番号を表示
” 逆は [ set nonumber ]
set number
” 改行 ( $ ) やタブ ( ^I ) を可視化
set list
” 括弧入力時に対応する括弧を強調
set showmatch
” 構文ごとに色分け表示
” 逆は [ syntax off ]
syntax on
” [ syntax on ] の場合のコメント文の色を変更
highlight Comment ctermfg=LightCyan
” ウィンドウ幅で行を折り返す
” 逆は [ set nowrap ]
set wrap

[さくらのVPS + Ubuntu18.04] サーバーを構築する1

さくらのVPS + Ubuntu18.04 サーバーを構築する

数年間ソ○トバンクのプロバイダを利用していました。
価格が下がると営業電話にのせられニ○ティーに乗り換えたところ、WAN側のIPアドレスが毎日変更されるらしく、とても自宅サーバーを置ける環境になくさくらのVPSのレンタルサーバーを使います。

レンタルのサーバー仕様

仮想3CoreのCPU
2GBのメモリ
200GBのHDD

Ubuntu18.04サーバ版

いまはSSDのサービスもありますが、50GBとHDDと比べ容量が少なく、色々やりたいと思っておりますのでHDDを選択しました。

契約の後、さくらのVPSコントロールパネル へログインをします。

初期状態ではCentOSがインストールされていますが、全部削除を行いましてUbuntu18.04をインストールします。

画面左側にあります サーバ > 契約したサーバを選択 > 右上 各種設定 > OSインストール > ISOイメージ  を選びます。

さくらのVPSにUbuntuのサービスもありますが、本家から持ってきたISOファイルを使います。

(ubuntu-18.04.1-live-server-amd64.iso)

さくらのVPSコントロールパネル画面の下にSFTP接続するアカウント発行ボタンが現れますので発行を行います。

WinSCPなどのSFTPが使えるアプリケーションで指示されたディレクトリにISOファイルを置いてきます。

アップロードが終わったら、さくらのVPSコントロールパネル下、設定内容を確認するを押します。

最終確認を聞いてきますので、インストールを実行しますを押します。

しばらく待つとVNCコンソールを起動というボタンが明るくなりますので押します。

VNCコンソールによるインストール

VNCによるブラウザ上に表示する仮想画面です。キーボード操作が遠隔で行なえます。

最初の画面、言語を聞いてきますので通常はEnglishでしょうか。
他の言語が良ければ英語以外でも構わないと思います。

2番めにキーボードのレイアウトを聞いてきますので日本キーボードへ変更を行います。
上側Layoutを変更するとしたのVariantもJapaneseに変更されますので、選択したら下段Doneを押します。

Layout:[Japanese]
Variant:[Japanese]

オプションを聞いてきます。今回は不要なのでInstall Ubuntuを選びます。

ネットワークの設定です。ダイナミックDHCPは無いのでスタティックの設定を行います。

[ens3 eth DHCPv4 has supplied no addresses ▶]
[Edit IPv4 ▶]

コントロールパネルに表示されている設定情報を入れていきます。
※ITネットワークの専門知識が必要です。別途ページにコメントが多数あるようでしたら、詳細ページを作ろうと思います。

スタティックな設定を入れましたら、[Save]で設定を保存後、[Done]で設定を終えます。

プロキシサーバ、通称串の設定です。今回は不要なのでそのまま[Done]を選びます。

Ubuntu archive mirror(アーカイブミラー)のアドレスを指定します。特になにもない限り[Done]で良いと思います。

Filesystem setup、インストールする領域をどのように使用するか聞いてきます。複数のOSを入れたりする場合に変えたりします。今回は全消ししますので、[Use An Entire Disk]で良いと思います。

ドライブを選択後、最終確認をしてきますので[Done] > [Continue]を選びます。

管理者のログイン情報を入力します。

Your name:管理者の名前
Your server’s name:サーバ名
Pick a username:ログインアカウント名
choose a password:パスワード
Confirm your password:確認用パスワード

入力後、[Done]を選びます。

Featured Server Snaps サーバーのタイプを聞いてきます。どんな仕様になるか分かりませんので、何も選択せずに[Done]を選びます。

Install Complete!
アレコレしている内にインストールが完了しました。これでさくらのVPSサーバにUbuntu18.04サーバ版がインストールできました。お疲れ様でした。

サーバのリブートを行って下さい。

※そのままリブートを行うとISOイメーシが残っていますので再びインストール画面が表示されてしまいます。
その際は、さくらのVPSコントロールパネル > 各種設定 > OSインストール > ISOイメージ  を選び、SFTPアカウントを削除後にサーバの強制再起動を行って下さい。

 

Ubuntu + Nginx で出た 413 Request Entity Too Large エラーの対処法

アップロードしようとしたデータのファイルサイズが大きいと怒られているので上限値を上げます。

#vi /etc/nginx/sites-available/default

server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;

#http filesize
client_max_body_size 100m;
}

バーチャルホストを設定している場合は、そちらにも設定を入れます。

設置後リスタートします。

#systemctl restart nginx