WordPress構築

Bloggerを使っていたけれど,使い勝手がよいWiki形式へ切り替えたいと思い,勉強がてらWordpressを自前で立ててこちらへ引っ越し。

1発目はWordpress構築メモ。

構想

イメージ
構成概要

構成イメージはこのような感じ。GCP上にCentOS8の仮想マシンを1つたて,その上で完結させる。DBは分けた方がよいのだろうが,まずは無事に立ち上がるところまで。

ドメインはさくらインターネットで取得。.comドメインで年間1886円。GCPでグローバルIPアドレスを確保した後,設定画面でDNS登録をする。

大まかな流れ

  1. DBインストール,設定
  2. PHPインストール,設定
  3. HTTPDインストール,設定
  4. HTTPS化

いざゆかん。

とその前に,構築中は自宅からのみアクセス可能とするためGCPのファイアウォールでソースIPアドレスを限定する。

DBインストール,設定

オフィシャルサイトを参考。

$ sudo dnf install mariadb-server.x86_64

DBセキュア化

$ sudo 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!

wordpress用DB設定。

MariaDB [(none)]> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.004 sec)


MariaDB [(none)]>


MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO "DBアドミン名"@"localhost" IDENTIFIED BY "パスワード";
Query OK, 0 rows affected (0.004 sec)


MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.002 sec)

ログに認証エラーが出た。ケルベロス認証などは使わないので無効化で対処する。

[ERROR] mysqld: Server GSSAPI error (major 851968, minor 2529639093) : gss_acquire_cred failed -Unspecified GSS failure. Minor code may provide more information. Keytab FILE:/etc/krb5.keytab is nonexistent or empty.
/var/log/mariadb/mariadb.log の内容
$ sudo mv /etc/my.cnf.d/auth_gssapi.cnf /etc/my.cnf.d/auth_gssapi.cnf.org

起動設定。

$ systemctl enable mariadb
$ systemctl start mariadb

PHPインストール,設定

$ sudo dnf install php php-mysqlnd php-mbstring.x86_64 php-json php-gd php-xml php-zip php-dom

php-gdがないとwordpress上で画像の編集ができない

推奨

参考) https://qiita.com/kogache/items/00dc37774dfe20f03a72

/etc/php-fpm.d/www.conf 編集。httpdとしてnginxを使うのでユーザとグループを修正する。

; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
;user = apache
user = nginx
; RPM: Keep a group allowed to write in log dir.
;group = apache
group = nginx

nginxインストール,設定

$ sudo dnf install nginx

wordpress設定

wordpressもあわせてインストールをする。今回は /usr/share/nginx の下に WP というディレクトリを作成して,そこへwordpressを配置する。

$ wget https://ja.wordpress.org/latest-ja.tar.gz
$ tar xvfz latest-ja.tar.gz ./
$ sudo chown -R nginx:nginx /usr/share/nginx/WP
$ sudo mv wordpress/* /usr/share/nginx/WP/

nginx設定ファイル変更。 /etc/nginx/conf.d/wp.conf として編集。TLS1.2 と1.3に限定する。こちらを参考。

# HTTPSへリダイレクト
server {
        listen 80;
        server_name zassoul.com;
        return 301 https://$host$request_uri;
}
server {
        listen 443 ssl;
        server_name zassoul.com;
        root /usr/share/nginx/WP;
        index index.php;
        charset utf-8;

        ssl_certificate /etc/letsencrypt/live/zassoul.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/zassoul.com/privkey.pem;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        # Deny to wp-config.php
        location ~* /wp-config.php {
                deny all;
        }

        #php-fpm
        location ~ \.php$ {
                try_files $uri = 404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_pass php-fpm;
        }

        location ~* \.(js|css|png|jpg|jpgeg|gif|ico)$ {
               expires max;
               log_not_found off;
        }
}

wp-config.php を編集する。(オフィシャルサイトを参考)

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wordpress' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', '上で設定したユーザ名' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', '上で設定したパスワード' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );

/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8mb4' );

/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );

/**#@+
 * 認証用ユニークキー
 */
define( 'AUTH_KEY',         'ジェネレートしたキー' );
define( 'SECURE_AUTH_KEY',  'ジェネレートしたキー' );
define( 'LOGGED_IN_KEY',    'ジェネレートしたキー' );
define( 'NONCE_KEY',        'ジェネレートしたキー' );
define( 'AUTH_SALT',        'ジェネレートしたキー' );
define( 'SECURE_AUTH_SALT', 'ジェネレートしたキー' );
define( 'LOGGED_IN_SALT',   'ジェネレートしたキー' );
define( 'NONCE_SALT',       'ジェネレートしたキー' );

/**#@-*/

HTTPS化

常時HTTPSもするのでLet’s EncryptでSSL証明書を発行する。サイト認証のため80番ポートでアクセスしてくる必要があるということで,一時的に80番ポート全解放をする。

こちらを参考にLet’s Encryptで証明書発行を実施。

Certbotのインストール。

$ sudo dnf install epel-release
$ sudo dnf install certbot

お試しdry-run。

$ sudo certbot certonly --dry-run --standalone -w /usr/share/nginx/WP/ -d zassoul.com -m "Email-Address"

本番実行。

$ sudo certbot certonly  --standalone -d zassoul.com -m "Email-Address" --agree-tos
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for zassoul.com
Using the webroot path /usr/share/nginx/WP for all unmatched domains.
Waiting for verification...
Cleaning up challenges
Subscribe to the EFF mailing list (email: "Email-Address").


IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/zassoul.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/zassoul.com/privkey.pem
   Your cert will expire on 2020-12-07. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:


   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

ここで80番を閉じる。nginx起動設定。

$ sudo systemctl enable nginx
$ sudo systemctl start nginx

完了。

GNS3 on GCP

EVE-NGにならってGNS3もGCP上に立てる。
イメージは18.04のbionicを選択。
# 現時点でcosmicだとDockerやiouguiのインストールですんなり行かない。
# 北米より高いけど, 日本リージョンで建てることをおすすめします

>gcloud compute images create nested-ubuntu-1804-lts --source-image-project=ubuntu-os-cloud --source-image=ubuntu-1804-bionic-v20181120  --licenses="https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"

このイメージを使いインスタンスを起動→SSHでログイン。

あとはオフィシャルの手順通りやっていけば完了。
インストール手順(オフィシャル)

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo add-apt-repository ppa:gns3/ppa
$ sudo apt-get update
$ sudo apt-get install gns3-gui
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt install gns3-iou
$ sudo apt install dynamips:i386 #Bug対応

途中, Wiresharkを非ルートユーザでの実行を許可するかどうかを聞かれるので「Yes」を選択。続いてGNS3を非ルートユーザでの実行を許可するかどうかを聞かれるので「Yes」を選択する。(ここはデフォルトでNoが選択されている)

$ sudo apt-get install 
apt-transport-https
ca-certificates
curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
$ sudo usermod -a -G docker gns3
$ # gns3 はログインユーザ名
$ sudo usermod -a -G docker gns3
$ sudo usermod -a -G ubridge gns3
$ sudo usermod -a -G libvirt gns3
$ sudo usermod -a -G kvm gns3
$ sudo usermod -a -G wireshark gns3
$ gns3 --version

2.1.11

完了。

無事起動

EVE-NG on GCP

GCPでネストを有効化する。(Google Cloud SDK shell を使う)
ネストが利用できるのはHaswell以降のCPUが実装されているリージョン。
EVE-NGはベアメタルのデプロイを参考にする。
http://www.eve-ng.net/documentation/installation/bare-install

1. インスタンス作成

まず最初にUbuntu 1604.ltsをベースにNestedのイメージを作る。

GoogleCloud SDK>gcloud compute images create nested-ubuntu-1604-lts --source-image-project=ubuntu-os-cloud --source-image=ubuntu-1604-xenial-v20181004  --licenses="https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
Created [https://www.googleapis.com/compute/v1/projects/propane-passkey-xxxxx/global/images/nested-ubuntu-1604-lts].
NAME PROJECT FAMILY DEPRECATED STATUS
nested-ubuntu-1604-lts propane-passkey-xxxxx READY

このイメージを使い仮想マシンを立てる

EVE-NGのシステム要件
http://www.eve-ng.net/documentation/installation/system-requirement

インスタンス作成

作成したイメージからインスタンスを作成する
項目編集。ひとまずvCPU 2 メモリ 8G。
シリアルポートへのアクセスを許可する。

ログインして仮想化に対応しているか念の為確認。

~$ grep vmx /proc/cpuinfo 
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow flexpriority ept fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arch_capabilities
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow flexpriority ept fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves arch_capabilities

OK。

2. EVE-NG インストール事前準備

ログイン後, ベアメタルインストールの手順に従って設定の修正を行っていく。
・/etc/hosts 修正
・sshd設定 修正
・Grub設定 修正
・インタフェース名をethへ変更

# cat /etc/udev/rules.d/70-persistent-net.rules 
#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="42:01:0a:8e:00:02", NAME="ens4"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="42:01:0a:8e:00:02", NAME="eth0"

・適用のため一度再起動

root@eve-ng:~# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: mtu 1460 qdisc mq state UP group default qlen 1000
link/ether 42:01:0a:8e:00:02 brd ff:ff:ff:ff:ff:ff
inet 10.142.0.2/32 brd 10.142.0.2 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::4001:aff:fe8e:2/64 scope link
valid_lft forever preferred_lft forever

OK。

3. EVE-NG インストール

# wget -O - http://www.eve-ng.net/repo/install-eve.sh | bash -i
# reboot

ここに従って初期設定をする。
http://www.eve-ng.net/index.php/documentation/howto-s/65-howto-configure-eve-during-first-boot

・アップデート

# apt-get update
# apt-get upgrade

・HTTPS化
https://zassoul.blogspot.com/2018/06/eve-nghttps.html

完了。
4. お試しアクセス
https://<インスタンスの外部IP>/ にアクセス。

初期ID・パス入力

無事成功

5. Firewall 設定

開放が必要なポートを開ける。
FAQには「ポッド(アカウント)数によって変わる」とあった。
Community版はAdminのみなので, 32769~32896まで開放する。

新規ルール作成

送信元IPは指定したほうが良いが, ひとまずANYで開放

最低限, adminのパスワードは変更しておく。

以上。

GCPとVPN接続する~その2~

GCPとのVPN接続で, ポリシーベースではなくルーティングベースでやってみる。

構成は前回とほぼ変わらず。
クラウドルータとの間のセグメントが増えた感じ。

GCP側にBGPルータができ, それとのルーティング設定が追加となる

前提条件(ポリシーベースの前提を大体引き継ぐ)

  • GCPのアカウント設定済み
  • (VPC作成済み, VPC作成後のインスタンスも作成済み)
  • 家側のNAT設定済み
  • ルーティングベースなので, VTIを採用

流れ

1. クラウドルータ設定
2. VPN設定(Cisco)

1. クラウドルータ設定

ネットワーキングから「ハイブリッド接続」を選択

「ルーターを作成」をクリック

必要事項を記入する。
今回, BGPのAS NoはGCP側は64512とした。

ルーター作成後, 「VPNトンネルを追加」する。

各項目を記入し, BGPセッションの編集ボタンをクリック。

ここでは家側のAS Noを65000とし, トンネル間のセグメント情報を記入する。

設定の結果を確認。

これでGCP側は完了。

2. VPN設定(Cisco)

VTIに準じた設定を入れていく。
関連Config抜粋

crypto ikev2 proposal GCP_proposal
encryption aes-cbc-256 aes-cbc-192 aes-cbc-128
integrity sha256
group 16
!
crypto ikev2 policy GCP_policy
proposal GCP_proposal
!
crypto ikev2 keyring GCP_Key
peer GCP
address <GCPのIPアドレス>
pre-shared-key <共有キー>
!
!
!
crypto ikev2 profile IKEv2_Profile
match identity remote address <GCPのIPアドレス> 255.255.255.255
identity local address <家のGlobal IP>
authentication remote pre-share
authentication local pre-share
keyring local GCP_Key
lifetime 3600
!
!
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto ipsec profile GCP_Profile
set transform-set TS
set pfs group16
set ikev2-profile IKEv2_Profile
!
crypto ipsec profile VTI
set transform-set TS
set pfs group16
!
interface Tunnel1
ip address 169.254.1.2 255.255.255.252
tunnel source Vlan100
tunnel mode ipsec ipv4
tunnel destination <GCPのIPアドレス>
tunnel protection ipsec profile GCP_Profile
!
!
router bgp 65000
bgp log-neighbor-changes
network 192.168.1.0
network 192.168.10.0
neighbor 169.254.1.1 remote-as 64512
!

通信確認

#ping 10.10.10.10 source 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 160/160/160 ms

IPSecステータス

#show crypto session
Crypto session current status

Interface: Tunnel1
Profile: IKEv2_Profile
Session status: UP-ACTIVE
Peer: 35.231.219.234 port 4500
Session ID: 2209
IKEv2 SA: local 192.168.1.2/4500 remote 35.231.219.234/4500 Active
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map

無事接続確認完了。

GCPとVPN接続する

GCPの$300クレジット(1年)があるのでAWSだけでなくGCPも触ってみる。

例によって自宅とVPN張って見る。構成はこんな感じ。

概略構成

前提条件

  • GCPのアカウント設定済み
  • (VPC作成後)インスタンスは作成済み
  • 家側のNAT等の転送ルールは設定済み
  • 今回はポリシーベースVPNとするので GRE over IPSec (訂正:GRE使いません)

流れ

1. VPC作成
2. サブネット作成
3. FW設定
4. インスタンス作成(ここでは省略)
5. VPN設定(GCP & Cisco)

Google Cloud Consoleにログインして, VPCネットワークを作成する。

1. VPC作成

「VPCネットワーク」から「VPCネットワーク」を選択

「VPCネットワークを作成」を選択

2.  サブネット作成

必要事項記入して「作成」

この後, 作成したサブネット上にインスタンスを作成する。(手順は省略)

3. FW設定

サブネットに対する通信許可設定を入れる。
VPCから作成したVPC「vpc01」を選択
ファイアウォールルールを選択し, ルールの追加をクリック
※画像は既に作成済み
ルールを記入していく
ここでは自宅の環境からサブネット全体に対して全て通信許可としている
完了

4. VPN作成

「VPCネットワーク」から「VPN」選択

「VPN接続を作成」をクリック

必要事項を記入する。IPアドレスはプルダウンをクリックして新規作成する。

名前を適当につけて「予約」

するとGlobal IP Addressが割当たる

内容確認して「完了」をクリック

GCP側はこれで準備完了

5. Ciscoルータの設定

GCPでサポートしている暗号化セットはここに記載されている。
Supported IKE Ciphers

関連Config抜粋

!
crypto ikev2 proposal GCP_proposal
encryption aes-cbc-256 aes-cbc-192 aes-cbc-128
integrity sha256
group 16
!
crypto ikev2 policy GCP_policy
proposal GCP_proposal
!
crypto ikev2 keyring GCP_Key
peer GCP
address <GCPのIPアドレス>
pre-shared-key <設定した共有キー>
!
!
!
crypto ikev2 profile IKEv2_Profile
match identity remote address <GCPのIPアドレス> 255.255.255.255
identity local address <家のGlobal IP>
authentication remote pre-share
authentication local pre-share
keyring local GCP_Key
lifetime 3600
!

crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
!
crypto ipsec profile GCP_Profile
set transform-set TS
set pfs group16
set ikev2-profile IKEv2_Profile
!
!
crypto map GCP_map 5 ipsec-isakmp
set peer <GCPのIPアドレス>
set transform-set TS
set pfs group16
set ikev2-profile IKEv2_Profile
match address GCP_ACL
!
!
interface Vlan100
description to 192.168.1.0/24
ip address 192.168.1.2 255.255.255.0
crypto map GCP_map
!
ip access-list extended GCP_ACL
permit ip 192.168.0.0 0.0.255.255 10.10.10.0 0.0.0.255
!
!

通信確認

Ping確認

#ping 10.10.10.10 source 192.168.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.10, timeout is 2 seconds:
Packet sent with a source address of 192.168.1.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 160/162/164 ms

IP-Secステータス

#show crypto session
Crypto session current status

Interface: Vlan100
Profile: IKEv2_Profile
Session status: UP-ACTIVE
Peer: 35.231.219.234 port 4500
Session ID: 2208
IKEv2 SA: local 192.168.1.2/4500 remote <GCPのIPアドレス>/4500 Active
IPSEC FLOW: permit ip 192.168.0.0/255.255.0.0 10.10.10.0/255.255.255.0
Active SAs: 2, origin: crypto map

以上。
次はルートベースのVPN設定を試す。

ちなみに, MTUサイズを確認してみるとトンネルのオーバーヘッド含めて1422だった。

$ ping 10.10.10.10  -s 1394 -M do
PING 10.10.10.10 (10.10.10.10) 1394(1422) bytes of data.
1402 bytes from 10.10.10.10: icmp_seq=1 ttl=63 time=162 ms
1402 bytes from 10.10.10.10: icmp_seq=2 ttl=63 time=161 ms
1402 bytes from 10.10.10.10: icmp_seq=3 ttl=63 time=160 ms
^C
--- 10.10.10.10 ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3001ms
rtt min/avg/max/mdev = 160.511/161.357/162.479/0.947 ms
$ ping 10.10.10.10 -s 1395 -M do
PING 10.10.10.10 (10.10.10.10) 1395(1423) bytes of data.
ping: sendmsg: Message too long
ping: sendmsg: Message too long
ping: sendmsg: Message too long
^C
--- 10.10.10.10 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2004ms