スキップしてメイン コンテンツに移動

投稿

ラベル(Network)が付いた投稿を表示しています

IPアドレスを固定にする方法 と /etc/resolv.conf の設定を変更する方法 on Raspbian

RaspberryPiのネットワーク環境がDHCPでIPを割り振る状況で動作させていたが、 アドレスの固定を行った。 Raspbianの環境は以下の通り。 $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 10 (buster)" NAME="Raspbian GNU/Linux" VERSION_ID="10" VERSION="10 (buster)" VERSION_CODENAME=buster ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" $ cat /etc/debian_version 10.3 $ uname -a Linux dc 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l GNU/Linux IPアドレスを固定にするのは /etc/dhcpcd.conf を書き換えることで行える。 /etc/dhcpcd.conf には次のような例がコメントとして書かれている。 # Example static IP configuration: #interface eth0 #static ip_address=192.168.0.10/24 #static ip6_address=fd51:42f8:caae:d92e::ff/64 #static routers=192.168.0.1 #static domain_name_servers=192.168.0.1 8.8.8.8 fd51:42f8:caae:d92e::1 Raspberry Pi を無線で接続している場合、インタフェースはwlan0になるはず。 下の設定は次の様な設定になっている。 固定...

最近のアクセス

このブログへのアクセスは、日本から一番多いが次いでアメリカからのアクセスがある。 この辺はまあいいが、何故かウクライナからのアクセスがある。 というか、日本とアメリカとウクライナからのアクセスしか無い。 ウクライナで何かあるのだろうか?

Webサイトのリダイレクトをブラウザで行う

Webサイトのリダイレクトは次のような方法で行うことが出来る。 Webサーバの設定 Javascript HTML metaタグ サーバの設定ができるのであればこちらの方法でリダイレクトをすればよい。 この場合すべてのアクセスをリダイレクト出来る。 しかし、設定が行えない状況であればその他の方法を選ぶ必要がある。 JavascriptやHTMLタグを利用する場合は、 クライアント側の処理なのでサイト運営者側でコントロール出来ないため 必ずリダイレクトされるとは限らない。 以下に挙げる例は、https://www.google.com/ にリダイレクトする例である。 Javascriptを利用する場合 次の文を書き込む。 location.href = “https://www.google.com/”; タグを利用する場合 次の文をヘッダに書き込むと5秒後にリダイレクトする。 <meta http-equiv="refresh" content="5;URL='https://www.google.com/'” /> これらを含めたソースは以下のようなものになる。 ===== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>転送</title> <meta http-equiv="refresh" content="5;url='https://www.google.com/'" /> <script> setTimeout("location.href='https://www.google.com/'",1000*5); </script> </head> <body> 本文 </body> </html> =====

IPアドレスの固定 on CentOS 7

CentOS7 で IPアドレスの固定を行う。 DHCP により自動的に割り当てられているIPアドレスを固定する。 設定は下記ディレクトリに保存されている。 /etc/sysconfig/network-scripts/ 個々のファイルを修正してもいいがコマンドラインより設定する方法を次に示す。 次のコマンドで現在の設定を確認する。 # nmcli device show この結果をもとに固定するIPの設定を調べる。 ネットワークインターフェース enp0s3 割り当てるIPアドレス 192.168.1.10/24 ゲートウェイ 192.168.1.1 DNSサーバ 192.168.1.1 # nmcli c m enp0s3 ipv4.method manual # nmcli c m enp0s3 ipv4.addresses 192.168.1.10/24 # nmcli c m enp0s3 ipv4.gateway 192.168.1.1 # nmcli c m enp0s3 ipv4.dns 192.168.1.1 [関連] Ubuntu IPアドレスを固定にする https://atsreport.blogspot.com/2017/11/ubuntu-ip.html [参考] CentOS7のnmcliコマンドについて https://qiita.com/ytooyama/items/847250f17fa7715f3037

Windows10 から NAS にアクセスできない

Windows 10 から NAS につながらない症状が発生した。 RAID トラブルが原因で半年ほど動かしていなかった為、この現象が今まで発生しなかった。 NAS は Linkstation である。 SSHでは接続できるし、HTTPからもつながるが、 ファイルマネージャから見れない。 ネットで検索するとどうやらWindows側に原因があるようだ。 ファイル共有のプロトコルはWin10では SMB3.11 であり、その他のWindowsは次のようなサポート状況になっている。 プロトコル OS SMB MS-Networks/LAN Manager/Windows for Workgroups/Windows NT 3.xなど CIFS Windows 9x/Windows Me/Windows NT 4.x SMB 1.0 Windows 2000/Windows XP/Windows Server 2003/Windows Server 2003 R2 SMB 2.0 Windows Vista/Windows Server 2008 SMB 2.1 Windows 7/Windows Server 2008 R2 SMB 3.0 Windows 8/Windows Server 2012 SMB 3.0.2 Windows 8.1/Windows Server 2012 R2 SMB 3.1.1 Windows 10/Windows Server 2016 Windowsネットワークの基礎: 第7回 ファイル共有プロトコルSMBの概要 http://www.atmarkit.co.jp/ait/articles/1507/02/news026.html Microsoftは、2017年秋のWindows10のアップデートで SMB1.0 を無効に設定した。 Windows 10 Fall Creators Update と Windows Server バージョン 1709 の既定では SMBv1 はインストールされません https://support.microsoft.com/ja-jp/help/4034314/smbv1-is-not-installed-windows-10-and-w...

samba を用いて Linux クライアントから Windows 共有フォルダを参照する

以前は smbfs や smbmount などを用いてマウントしていたが、samba3.2 からこれらはなくなり、代わりに cifs を利用する。 Samba 3.2.0リリースノート(2008年7月1日) http://wiki.samba.gr.jp/mediawiki/index.php?title=Samba_3.2.0_%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9%E3%83%8E%E3%83%BC%E3%83%88 ネットワークの向こうにある共有フォルダ ( //[ipaddress]/shared ) を ローカルユーザのディレクトリ ( /home/user/mnt/ ) に割り付ける。 # mount -t cifs //[ipaddress]/shared /home/user/mnt/ 共有フォルダへのアクセスにユーザ名(winusr)とパスワード(****)が必要なら次のように書く。 # mount -t cifs -o user=winusr,password=**** //[ipaddress]/shared /home/user/mnt/ マウントした共有フォルダはマウントしたユーザが所有者になるので、これを ユーザ名linusr、グループlingrp へ変えるには、一旦 id コマンドで番号を調べる。 $ id uid=500(linusr) gid=500(lingrp) これを使って次のようにマウントすればよい。 # mount -t cifs -o uid=500,gid=500,user=winusr,password=**** //[ipaddress]/shared /home/user/mnt/ sudo コマンドで実行するなら次のように書けば、番号を調べる手間が省ける。 $ sudo mount -t cifs -o uid=$(id -u),gid=$(id -g),user=winusr,password=**** //[ipaddress]/shared /home/user/mnt/ [参考] CentOS 6.4 から Windows共有フォルダをマウント https://qiita.com/hoxo_m/items/70f9996...

adiary 構築 on NGINX in CentOS6 其の二

VirtualBox に CentOS6 の仮想環境を準備し、そこにWebサーバ nginx をインストールし、ブログシステム adiary を導入した。 https://atsreport.blogspot.com/2017/12/adiary-on-nginx-in-centos6.html adiaryの公式サイトにある手順通りに行ったが、表示がおかしい。 具体的には、ページは読み込まれるのにcssファイルが読み込まれない為、レイアウトがおかしい。 原因はSELinuxだった。 次のコマンドで一時的に無効にするとレイアウトがきちんと表示された。 # setenforce 0 取り敢えずこの状態でブログシステムは稼働するが、SELinuxの設定をする場合は以下のページを参照して設定する。 [参考] Security-Enhanced Linux - Red Hat Engineering Content Services https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security-enhanced_linux/ SELinux - fedora https://docs-old.fedoraproject.org/ja-JP/Fedora/19/html/Security_Guide/ch09.html

adiary 構築 on NGINX in CentOS6

CentOS6 に nginx を入れ、adiary を構築してみた。[ adiary 公式サイト ]  epel リポジトリが登録してなければ次を実行。 # yum install epel-release この記事に従って nginx をインストールしてたら、epel リポジトリは登録されている。 Webサーバ nginx のインストール on CentOS6 https://atsreport.blogspot.com/2017/12/web-nginx-on-centos6.html adiary は perl で動作しfcgi に対応しているので、perl-FCGI もインストールする。 # yum install perl-FCGI 以上で動作環境は整ったので、次に adiary を導入する。 tarボールを落としてきて展開する 又は git を使いデータを取ってくる。 tarボールは公式サイトから探してきて必要な場所に展開すればよい。 git を使う場合は、まずコマンドのインストールをする。 # yum install git この後、adiary を展開するディレクトリに移動し、次のコマンドを実行。 $ git clone https://github.com/nabe-abk/adiary 展開後、次の設定を行う。 ディレクトリパーミッションの設定 adiary.conf.cgiの設定 以上で adiary の導入は終わり、後は nginx の設定を行う。 nginx はデフォルトの状態だと /etc/nginx/nginx.conf が最初に読み込まれ、 このファイルから /etc/nginx/conf.d/*.conf が読み込まれる。 そして、/etc/nginx/conf.d/default.conf から /etc/nginx/default.d/*.conf が読み込まれる。 そこで、/etc/nginx/default.d/adiary.conf を作り、次を書き込む。         location /adiary/ {     ...

Perlで動作するCMS 一覧

Movable Type https://www.movabletype.jp/ Perl、MySQL 商用有償、個人無償 なライセンス (OpenSourceではない) adiary (aDiary ではない) https://adiary.org/ Perlで動作、DB不要、MySQL、PostgreSQLを使うことも可 AGPLv3ライセンス FreeStyle Wiki http://fswiki.osdn.jp/cgi-bin/wiki.cgi Perlで動作、DB不要 GNU GPLライセンス YukiWiki 結城浩 Perl 日本語Wikiの草分け的存在。最新バージョンは2.1.2a。 http://www.hyuki.com/yukiwiki/ TWiki Perl http://twiki.org/ ライセンス GPL

Webサーバ nginx のインストール on CentOS6

Webサーバ を CentOS6 上に起動してみた。 apache ではなく、nginx を動かしてみた。 まず、インストールする。 EPEL リポジトリに登録されているのでリポジトリを追加。 # yum install epel-release nginx をインストール。 # yum install nginx nginx を起動。 # service nginx start ブラウザから確認。  Welcome to nginx on EPEL! が表示された。 なお、Firewall の確認が必要。 nginx エイリアスの設定 設定ファイルは /etc/nginx/nginx.conf である。 このファイルで全体に関わる設定がされている。 # For more information on configuration, see: #   * Official English Documentation: http://nginx.org/en/docs/ #   * Official Russian Documentation: http://nginx.org/ru/docs/ user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events {     worker_connections  1024; } http {     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '             ...

Webサーバ apache のインストール on CentOS6

テストで作った仮想サーバー上の CentOS6 に Webサーバ apache を インストールした。 # yum install httpd でインストールし、 # service httpd start で起動した。が、起動しない。 設定ファイルがおかしいのかと思いチェックした。 # apachectl -t httpd: apr_sockaddr_info_get() failed for myhostname httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName Syntax OK ググるとホスト名の件でトラブっているみたい。 サーバ名を localhost.localdomain に設定する為、 /etc/httpd/conf/httpd.conf の 次の行を書き換えた。 #ServerName www.example.com:80 ServerName localhost.localdomain 再度チェックするとエラーが出ないことを確認。 # apachectl -t Syntax OK httpd を起動。 # service httpd start ファイアウォールがあると接続できないので確認をする。 仮想環境のテストサーバなので取り敢えず # iptables -F で取り敢えず接続できることを確認した。 この後、エイリアスの設定を行った。 設定ファイルは /etc/httpd/conf.d/*.conf を読み込むように書かれているので、 エイリアスの設定は この場所においた。 /etc/httpd/conf.d/alias.conf alias /user0001/ /home/localuser/html/ <Directory /home/localuser/html >   Allow from all </Directory>

Linux Firewall の設定 [ iptables ] 其の二

Linux Firewall の設定 [ iptables ] の続き iptables に引っかかったログを取りたいため以下の設定を行う。 iptables ルールの一覧表示 iptables -nvL --line-numbers オプション 説明 -n IPアドレスをDNSに問い合わせない -v 詳細な設定を表示 -L ルール一覧を表示 --line-numbers ルール番号を表示 ログの出力の設定 iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix "[iptables firewall] : " --log-level=info オプション 説明 -m limit -limit 1/s 単位時間当たりに記録するパケット数(この場合は1秒1パケット) -j LOG ログ出力を実施 -log-prefix “[iptables firewall] : ” ログ出力時につける識別子。 -log-level=info ログ出力のレベル。デフォルトはwarning なお、この設定だとログを取りすぎる可能性があるため、iptables のルールの順序を再考する必要がある。 次のルールだとログを取ってから、TCP 22 へのアクセスは捨てられる。 # iptables -nL LOG all -- 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 LOG flags 0 level 6 prefix `[iptables firewall input] : ' DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 次のルールだと先に TCP 22 へのアクセスが捨てられるため、ログは残らない。 # iptables -nL DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 LOG all -- 0.0.0.0/0 0.0.0.0/0 ...

Linux Firewall の設定 [ iptables ]

iptables (IPv4)、ip6tables (IPv6)でのオプションについて iptables、ip6tables は、Linux カーネルのパケットフィルタルールの設定を行える。 テーブルは、filter、nat、mangle、raw、security等がある。 テーブルの指定を省略すると filter テーブルが指定される。 次の表はルール追加と削除の例である。 -t table コマンド chain rule-specification -j target 説明 -t table コマンド chain rule-specification -j target 説明 [-t filter] -A INPUT -p tcp --dport ** -j ACCEPT 次を末尾に追加。TCP**番ポートを通過 [-t filter] -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 次を先頭に追加。確立済みの通信を許可 [-t filter] -A INPUT -i lo -j ACCEPT 次を末尾に追加。localhostからの通信許可 [-t filter] -D INPUT 3 INPUTチェイン 3番のルール削除 -P (または --policy) コマンド 各table内のchainについてpolicyを設定する。 ある通信が対応するchainにおいて、対応するルールがない場合にどのように処理するかを決定する。 -t table -P chain target 説明 -t table -P chain target 説明 [-t filter] -P INPUT ACCEPT INPUTはパケット通過 ...

ssh公開鍵認証 クライアントの設定

ssh公開鍵認証 クライアントの設定について 以下の手順にて公開鍵認証の設定を行う。 何らかの手順でssh接続するサーバを操作できる必要がある為、 サーバ設置後速やかに設定する方が良い。 sshd_config ファイルの内容 を参考にしてサーバの設定を行ったなら、パスワード認証ができるので この状態でパスワード認証から公開鍵認証へ切り替える。 まずはじめに、公開鍵と秘密鍵の2つを生成する。 この作業はセキュリティ上クライアント側で行い、秘密鍵は通信経路を通さないようにする。 Windowsであれば生成するプログラムをダウンロードして利用する。 多くの場合、sshクライアントソフトがその機能を持っているのでこれを利用する。 ここではLinuxの場合について記入する。 Linuxで、 ssh-keygen コマンドを用いて作成する。 コマンドは次のようなものがある。 ssh-keygen -t dsa ssh-keygen -t rsa ssh-keygen -b <ビット数> -t rsa ssh-keygen -b 256 -t ecdsa ssh-keygen -b 384 -t ecdsa ssh-keygen -b 521 -t ecdsa ssh-keygen -t ed25519 -t オプションは dsa,rsa,ecdsa,ed25519 を指定する。 -b オプションはビット数を指定します。大きい方がセキュリティが高く、処理は重くなる。 ecdsaを指定した場合、上記の3種類しか指定できない。 rsaを指定した場合、デフォルトで2048ビットであり、それ以上の値を指定できる。 dsaとed25519は指定できない ecdsaやed25519は楕円曲線を用いた暗号であり解読が困難であるため、サーバが対応していればこれらを選択する。 そうでなければ、dsaやrsaを使用する。できればrsaでビット数の大きいものを選択する。 dsaやrsaはフェルマーの小定理を用いた暗号であり、素因数分解を解くことによって解読される。ビット数は少しでも多いほうが解読が困難になる。 ecdsaやed25519は楕円曲線暗号を用いている。 これは、種数1の代数多様...

hosts.allow アクセス制御設定

自宅内のLANにRaspberryPiを設置した。 不要かもしれないが、アクセス制御設定を行った。 制御は TCP Wrappers が行うため、hosts.allow hosts.deny を編集した。 この設定では、接続出来るIPアドレス(またはホスト)を指定することしか出来ない。 もっと細かい制御については、Linuxだと iptables 、BSD系だと PF などで行う。 [参考] Turbolinux 11 Server: ユーザーガイド 設定ファイル(/etc/hosts.allow、/etc/hosts.deny)の編集 http://www.turbolinux.co.jp/products/server/11s/user_guide/tcpwrapperconf.html 大雑把にいえば、  集合 A : hosts.allow で設定したホスト の集合  集合 D : hosts.deny で設定したホスト の集合 とすると、  Aの補集合 ∩ D に該当するホストのみをアクセス拒否にする。 取り敢えず、hosts.deny に  ALL : ALL と書き込み、hosts.allow に  ALL : 192.168.0. を書き込んだ。  もし、外部からのアクセスを許可する場合は hosts.allow に  ALL : *.spmode.ne.jp とすれば、ドコモのSP-mode経由からのアクセスは許可される。 他にも主要なホスト名は次のようになっているようだ。  NTTドコモ iモード .docomo.ne.jp spモード .spmode.ne.jp mopera .mopera.ne.jp au ezweb .ezweb.ne.jp Yahoo!ケータイ .jp-*.ne.jp --- jp-d.ne.jp    北海道 jp-h.ne.jp    東北・新潟 jp-t.ne.jp    関東・甲信 jp-c.ne.jp    東海 jp-r.ne.jp    北陸 jp-k.ne.jp ...

Ubuntu IPアドレスを固定にする

 IPアドレスを固定にする必要があったので調べてみた。 Ubuntu17.10 /etc/network/interfaces の中に auto enp0s3 iface enp0s3 inet static address [設定したいIPアドレス] netmask [ネットマスク] gateway [ゲートウェイ] dns-nameservers [ネームサーバ] を書き込めば良い。 昔は、ネットワークインターフェースが eth0 だったが、 いまは enp0s3 になっていた。 これはコンピュータによって異なるようなので、各コンピュータに合わせて変える必要がある。 $ ip a または $ nmcli または $ ifconfig -a をコマンドラインで入力すると表示されるが、 ifconfigコマンドはインストールされていなかった。 [参考] [Ubuntu]ローカルIPアドレスを固定にする https://jyn.jp/ubuntu-localip-static/