ラベル network の投稿を表示しています。 すべての投稿を表示
ラベル network の投稿を表示しています。 すべての投稿を表示

2026年3月4日水曜日

IPoE接続に変えてみた

  PPPoE接続をしばらく使ってきたが、最近土日や夜間がネット途切れるぐらい混雑してきたので、思い切ってIPoEに変えてみたら夜間でもダウンロード220Mbpsアップロード150Mbpsとだいぶ快適になった。

 ルータをどうするかで迷ったが、最近WIFI-Apを交換したばかりだし、WIFI付きの家庭用ルータはどうしても熱のためか、寿命が短いように思われたので、頑丈な有線ルータということで中古のIX2106をヤフオクで入手。希望小売価格が89000円ということなので、6000円ちょっとで購入でき、コスパはいいのでないかと思う。

 ただ、設定は情報集めがなかなか大変だった。ネットのNECの設定例も、ONU接続用の設定?のような感じだったので、PR400NEの内臓ONUを使うには不安があった。(電話はPR400NEから接続しているので、これを使わざるを得ない) ChatGPTとGoogleAIの助けを借りてなんとか、解決。

注意点としては

・PR400NEの接続1を停止 sshで設定するために、念のためUSBシリアルコンソール(1500円ほど)用意

・NECのサンプルの変更したところ

 ip-ad subscriber Giga~は削除 ※
interface GigaEthernet0.0

  no ip addressip address 192.168.2.2/24
  ipv6 enable
  ipv6 address autoconfig ※のかわり追加
  ipv6 dhcp client dhcpv6-cl 
  no shutdown

ip dhcp profile dhcpv4-sv
  assignable-range 192.168.1.50 192.168.1.70  ::dhcpの範囲を指定できる
  dns-server 192.168.1.1

interface Tunnel0.0
  tunnel mode 4-over-6
  tunnel destination fqdn gw.transix.jp
  tunnel source GigaEthernet1.0 → tunnel source GigaEthernet0.0 に変更
  ip unnumbered GigaEthernet1.0 これはなしで→  ip address 192.0.0.2/29 に変更
  ip tcp adjust-mss auto 
  no shutdown


※内部DNSサーバをうまく扱うことができなかったが、その後、「proxy-dns server ipアドレス priority 優先度」を設定することで、使えるようになった。
 また、bottleサーバでは、cloudflareからの外部アクセス制限をipアドレスで行う方法が使えず、別の方法に変更した。どうしても複雑化しているので細かいところに影響はでてしまうようだ。
※中古のため、縦置きスタンドがなかったため、不要になったアクリルボックスの破片からミニルータでL型に切り抜き、ねじ止めしたら安定するようになる。横置きより縦置きのほうが、熱は逃げやすいと思われるので、縦置きにした。
※念のため、使わずにいた廃品からはずした冷却ファンと使わずにいた温度センサーW1209、それにハードオフの330円の12Vアダプタで冷却もできるようにした。冷却ファンを最初はひもでしばっていたが、どうも不安定なので、あり合わせのアクリル破片をリベットでつないで、縦置き上部に載せられるように、フレームをつくってみた。
※PR400NE側の192.168.2.0/24側に192.168.1.0/24側からアクセスできず、HGWの管理画面が出せず不便だったが、以下の確認することで、なんとか解決できた。
1.PR-400NEの静的ルート: 192.168.1.0/24 宛を 192.168.2.2 へ
2.PR-400NEのipv4パケットフィルタ: 192.168.1.0/24 からの通信を許可
IX2106のマニュアルでは、2つのLANを接続するには、それぞれのインターフェースに ip address 192.168.1.254/24等を記述する例がでていたが、複数のルータが絡む場合はそれぞれきちんと確認が必要だということのようだ。
※結局、上記の設定では、ipv6がつながらないことが判明、再度、こちらの設定例1をもとに修正したらうまくいった。192.168.2.0/24というゾーンはつくらないほうがシンプルでいいようだ。ただ、HGWの管理画面を出すには、なぜかipv4ではだめで、ipv6のグローバルアドレス(たまに更新されるらしい)を指定必要だった。AIの意見も聞きながらも、そのままだとうまくいかないところもあったので、やはり、人間の判断も入れながら適宜修正は必要なようだ。
※そのご、冷却ファンの動作がいまいち不安定になってきて、取り外した。おそらくリレーセンサーの回路の信頼性がいまひとつなのが、原因?2026/7

2026年1月30日金曜日

android自作アプリがWIFIで内部サーバに接続できない問題

  外部からは、モバイル回線だと接続できるけれど、家でWIFIだと内部サーバに接続できないという問題があり、いろいろ解決まで時間がかかった。ちなみに、Chromeなどでは問題なく接続できるので、自作アプリに問題あるのは予想できた。

 ChatGPTでも解決できず、googleAIに質問したところ、解決。android:networkSecurityConfig="@xml/network_security_config"が厳格すぎたせいだった。自作アプリには、かなりセキュリティ対策を厳密にしているらしい。もともと、androidはgoogle製なので、的確な回答ができたのだと思う。

 WIFIかどうかをアプリ内で判別し、URLを切り替えたり、ポート制限もしているので、合わせて、network_security_configでLocalIpの設定を入れたらOkだった。

2026年1月26日月曜日

raspiにbind9

LAN内のラズパイ、ルータ、プリンタ、アクセスポイントなど、ホスト名でアクセスできるように 内部DNSにしてみた。以前行ったbind9の設定の仕方を思い出しながら、うまくいかなかったところは、chatGPTの助けも借りながら、なんとか完了。

・ルータは静的ルーティング設定で、自分のドメインのものはすべて、ルータに行くように設定。LAN側サーバアドレスをラズパイにして、ラズパイにbind9を入れます。

・ufwで、tcp,udpでローカル内からの53番ポートのアクセスを許可します。

・各種設定はネット上の情報を参照して行った。 host コマンドで最後に確認。

※今回、/etc/resolv.conf に問題があることがchatGPTから指摘受ける。どうやらnetworkManagerから生成されたものが、ルーターに行くようになっていて、raspi(127.0.0.1)が使われてないことがわかる。ただ、/etc/resolv.conf は 直接編集できず、
nmcli connection showでeth0でいいか確認して、
sudo nmcli connection modify "eth0" \
ipv4.ignore-auto-dns yes \
ipv4.dns 127.0.0.1 \
ipv6.ignore-auto-dns yes \
ipv6.dns ::1
これを反映
sudo nmcli connection down "eth0"
sudo nmcli connection up "eth0"
確認するとcat /etc/resolv.confー>nameserver 127.0.0.1

まだ、よくわからないところもあるが、とりあえず、指定したホスト名で内部はアクセスできるようになった。

※さらに、これだけではよくないらしくnamed.conf.optionsに追加して

options {
directory "/var/cache/bind";
recursion yes;  clientが「全部教えて」>BINDは、自分の zone を探し、なければ、無ければ 権威DNS …を 最後まで代行して答える。これが無いと「権威サーバーに聞いてね」で終わる。
allow-recursion { localnets; localhost; };再帰を 誰に許すか。localnets とは?BINDが認識している 直結ネットワーク  
allow-query { localnets; localhost; };DNS問い合わせそのものを誰に許すか。LAN内 → 正引き・逆引きともにOK  外部 → そもそも答えない   内部専用DNSなら 必須

# 外向きは forwarder に任せる(安定)
forwarders {
1.1.1.1;
8.8.8.8;
};
dnssec-validation auto;
listen-on { 127.0.0.1; 192.168.1.0/24; };BINDが どのIPアドレスで待ち受けるか。
挙動   127.0.0.1 → 自分自身
192.168.1.x → LANからのDNS
書かないと? デフォルトで 全インターフェース IPv6含めて全部待ち受けることも
不要な露出を防ぐため明示推奨
};

2026年1月25日日曜日

raspiでcloudflareのリバースプロキシを使うためにufwいれてみた

raspiの外部公開もそろそろセキュリティが気になってきたのでOS更新にあわせて、cloudflareを使ってみることした。そのためにufwを設定する必要があった。

sudo ufw allow sshをまず最初に入れるのが鉄則
curl https://ifconfig.meで、グローバルIp確認、それを次にいれる
sudo ufw allow from <自分のIP> to any port 443 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 22 proto tcpで、LAN限定にしたいなら
sudo ufw delete allow sshで、最初の設定削除
cloudflareのリバースプロキシを使うのが目的なので、そちらにのみ許可する設定です
# IPv4
curl https://www.cloudflare.com/ips-v4
# IPv6
curl https://www.cloudflare.com/ips-v6 でIp確認
これをみて
sudo ufw allow from 173.245.48.0/20 to any port 443 proto tcpを続ける
sudo ufw allow from 2400:cb00::/32 to any port 443 proto tcpも同様
ここまでの確認は sudo ufw status numbered この時表示なる番号をもとに、削除もできる
例。sudo ufw delete 2 # ルール番号指定で削除

sudo ufw allow from 192.168.1.0/24 to any port 80 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 443 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 8080 proto tcp(bottle確認用)
でLAN内からのWEBアクセスは可能にしておく

注意:Cloudflare IPは変わることがある→ cron スクリプトで自動更新

そこで、このあとは、次のようなスクリプトを用意
#!/bin/bash
# ファイル名: update-cloudflare-ufw-home.sh
# LAN内 + Cloudflare + WAN自動IP用 ufw 443自動更新
# cronやsudoでも安全に動作
# --- 設定 ---
LAN_CIDR="192.168.1.0/24"   # LAN内ネットワーク
UFW_PORT=443
TMP_DIR="$HOME/tmp"
# --- 0. 一時ディレクトリ作成 ---
mkdir -p $TMP_DIR
# --- 1. Cloudflare IP取得 ---
curl -s https://www.cloudflare.com/ips-v4 > $TMP_DIR/cf-ips-v4.txt
curl -s https://www.cloudflare.com/ips-v6 > $TMP_DIR/cf-ips-v6.txt
# --- 2. 既存Cloudflare 443ルール削除(LANルールは残す) ---
# IPv4
if [ -f "$TMP_DIR/cf-ips-v4.txt" ]; then
  for ip in $(cat $TMP_DIR/cf-ips-v4.txt); do
      sudo ufw delete allow from $ip to any port $UFW_PORT proto tcp 2>/dev/null || true
  done
fi
# IPv6
if [ -f "$TMP_DIR/cf-ips-v6.txt" ]; then
  for ip in $(cat $TMP_DIR/cf-ips-v6.txt); do
      sudo ufw delete allow from $ip to any port $UFW_PORT proto tcp 2>/dev/null || true
  done
fi
# --- 3. LAN内ルール再登録(もしまだない場合) ---
sudo ufw allow from $LAN_CIDR to any port $UFW_PORT proto tcp
# --- 4. Cloudflareルール追加 ---
if [ -f "$TMP_DIR/cf-ips-v4.txt" ]; then
  for ip in $(cat $TMP_DIR/cf-ips-v4.txt); do
      sudo ufw allow from $ip to any port $UFW_PORT proto tcp
  done
fi
if [ -f "$TMP_DIR/cf-ips-v6.txt" ]; then
  for ip in $(cat $TMP_DIR/cf-ips-v6.txt); do
      sudo ufw allow from $ip to any port $UFW_PORT proto tcp
  done
fi
# --- 5. WAN自分IP取得・追加 ---
MYIP=$(curl -s https://ipinfo.io/ip)
if [ -n "$MYIP" ]; then
    sudo ufw allow from $MYIP to any port $UFW_PORT proto tcp
fi
# --- 6. 状態確認 ---
sudo ufw status verbose
以上のスクリプトをcronに追加
crontab -e
0 6 * * * /home/pi/update-cloudflare-ufw-home.sh

※対策はあくまでインバウンドのみです。インバウンドのみcloudflareのセキュリティ対策を経たトンネルを使います。アウトバウンドは通常の経路です。ルータは443のみオープンにして、80は閉じても大丈夫です。SSL更新もcloudflareにまかせるか、こちらでやる(DNS-01というらしい。数日前設定したばかりだが。)か、選べる。

※cloudflareにまかせるには AやCNAMEをproxiedにして
sudo systemctl status certbot.timerでこちら管理しているようならとめて、起動しないように
sudo systemctl stop certbot.timer
sudo systemctl disable certbot.timer
確認はsudo systemctl status certbot.timer
sudo systemctl is-enabled certbot.timerでinactive ,disabledならok

cloudflare側は 「SSL/TLS」メニュー> Origin Certificate を入れている場合 → Full (strict) 
・「Edge Certificates」タブ>Always Use HTTPS:オンにすると自動で HTTPS にリダイレクト
・ Cloudflare → SSL/TLS → Origin Server>「Create Certificate」で Origin Certificate を作成>サーバに設置、この証明書があれば Let’s Encrypt は不要になる

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl reload apache2
sudo mkdir -p /etc/ssl/cloudflare
sudo chmod 700 /etc/ssl/cloudflare

origin_cert.pemとorigin_key.pemとして保存
sudo chmod 600 /etc/ssl/cloudflare/*

sudo nano /etc/apache2/sites-available/default-ssl.conf
SSLEngine on
SSLCertificateFile /etc/ssl/cloudflare/origin_cert.pem
SSLCertificateKeyFile /etc/ssl/cloudflare/origin_key.pem
# 推奨の TLS 設定
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:!aNULL:!MD5
このあと、以下のコマンドで完了
sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl reload apache2

※最後に、lan内でrapsiのhttpsにアクセスするとその都度警告がでますが、requestlyという拡張機能をchromeに入れると文字置換https://ホスト名>http://192.168~のような感じにできて解決できるようです。

2026年1月1日木曜日

SO-02Lスマホがなぜか、突然WIFI接続できなくなる

 古いスマホなので、新しいWIFIアクセスポイントと合わなくなってきたようだ。これまでWPA/WPA2-PSK(AES)からWPA2-PSK(AES)にしてみたら解決。複雑なネゴシエーションがあると、うまくいかないこともあるから?かもしれません。また、SSIDも同じでないほうがいいようです。以前は、同じにしてローミングできるようにしていましたが、家庭用レベルでは、最近はあまり推奨されないようです。業務等ではきちんと本格的なシステムにしないとローミングは難しいようです。

※その後、よく確認したら、どうもアクセスポイントの故障のようでした。新しいアクセスポイントに変えたら、動作Okでした。ローミングが原因かとうかは、よく確認していませんが、いずれにしろ、SSIDのローミングは、家庭用では、今回のような不具合があると原因がつかみにくいので、やめたほうがいいかもしれません。

2024年10月21日月曜日

apacheのアクセスログから見えること

ChatGPTに、外部からの不審なアクセスログを見てもらい、何を狙っているか解析してもらったら、以下のような回答が返ってきた。いろいろセキュリティの勉強になる。

1. 目的:環境設定ファイルの漏洩を狙う
攻撃者は「.env」や「.config.yaml」などのファイルを探しています。データベースの接続情報(ユーザー名、パスワード)、APIキーやトークンなどが目的か。
2. バージョン管理ミスを狙った攻撃
「.env.bak」や「.env.example」のようなファイル名も含まれています。
.bak:バックアップファイルが誤って残っているケース
.example:設定ファイルのテンプレートが公開されたケース
3. 管理パネルへの不正アクセス
次のリクエストは、システムの管理用ファイルや設定ファイルを狙っています:
GET /admin/.env HTTP/1.1
管理画面の初期設定が変更されていないシステムを狙い、攻撃者はそのまま管理者権限を取得しようとする可能性があります。
4. PHP情報の漏洩を試行
GET /?phpinfo=-1 HTTP/1.1

 さすがに、1,3や4は気を付けると思います。2なども、うっかりもれないよう気を付ける必要はありそうです。
 言語としてはPHPを狙っているパターンが多い傾向があるようです。
 セキュリティを考えれば、できるだけマイナーな言語を使うのがいいのかもしれません。また、Fail2Banなど、不正アクセスのあるIpアドレスを自動的にブロックするツールもあるようだ。

2023年1月20日金曜日

【要注意!!】職場のネットワークでWin11アップグレードで、ネットワーク不通

 Win10からWin11にアップグレードしたら、ループとして検知され、ネットが切断される現象が起きた。どうやら、ネットワークオプションのLLDPプロトコルが悪さをしているらしい。これを削除することで解消するようだ。実際には、ループが起きているのでなく、ループと誤検知させるパケットが、スイッチに到達した?のだろうか。そのうち、マイクロソフトでも、パッチを当ててくれることと思いますが。 おかけげ、業者の方に、ネットワークのハブ等の点検でだいぶ、迷惑をかけてしまった。 

 クリーンインストールのPCでは、起きてなかったので、なんとも思ってなかったのですが、どうやら、アップグレードインストールで起きる現象のようです。というか、上記リンクによれば、Windows11で22H2にアップデートした後、ということのようです。

 いろいろ調べると、LLDPをネットワーク上で利用することはあまりないようなので、通常のPCでも、チェック外しておいたほうがいいようです。また、ループ検知スイッチが最近のハブにはついてきていますが、これもあてにならないということでした。かえって、OFFにしておいたほうがいいとのこと。業者の方は、現場でいろいろ経験しているので、ネットワークを教科書で勉強しただけではわからない情報をいろいろいただくことができた一日でした。

2022年9月24日土曜日

GCEでWinSCPを使う

 GCEのインスタンスにファイルを転送するためWinSCPを使えるようにしてみた。秘密鍵、公開鍵の扱いに不慣れなので、いろいろ勉強になった。

はまったところ:
・秘密鍵を作成したときに、ローカルPCでのユーザー名がファイルの中に情報として入ってしまうようで、WinSCPでリモートにアクセスする際のユーザー名は、リモートのユーザー名ではなく、あくまでローカルPCでのユーザー名にしないとだめだった。基本的なことのようだが、今まで知らないでいた。
・WinPCは、直接秘密鍵が利用できず、.ppkなる拡張子のファイルに変換する必要があった。
・ポートは、セキュリティ上のこともあり外部からのアクセスでは標準の22を使わないことにした。インスタンスの中のsshサーバの設定には、
 port 22
 port 任意のポート番号(/etc/ssh/sshd_config)
のように2つ並べて置き、リモートからは22以外のほうを使うことにした。ルータとインスタンスのファイアーウオールの設定もそれにあわせて追加する必要がある。

いろいろなサイトを参考にさせていただいた。

・Dos Promptからもsshコマンドを使って手軽に確認もできるようだ。(秘密鍵生成などもできたり)
 ssh サーバアドレス(ホスト.ドメイン名もok) -i 秘密鍵ファイル名 -p 任意のポート番号

いろいろと手間はかかるようです。

2021年11月19日金曜日

お名前comの DDNSクライアント アプリについて

 お名前comの DDNSクライアント アプリを使っているが、最近、サーバーに接続できないことが続いた。このあいだ、SSLの更新をしたためか?よくわからないけれど、試しに、お名前comのサイトで、DNSの再設定(とくに変更せず)をしてみたら、アクセスできるようになった。

2021年4月29日木曜日

Let's Encrypt 更新スクリプト

 SSLを使うため、Let's Encryptを使っている。1年目は格安だったが、2年目からは1000円ちょっとほど管理料を請求されるようになった。

いったん、設定を削除してあらためて更新作業をするといいようだ。

delete.sh

sudo rm -rf /etc/letsencrypt/archive/$1

sudo rm -rf /etc/letsencrypt/live/$1

sudo rm /etc/letsencrypt/renewal/$1.conf


create.sh

sudo certbot certonly --webroot-path /var/www/html/ -d $1

複数ドメイン必要なら

sudo certbot certonly --webroot-path /var/www/html/ -d $1 -d abc.$1


途中 How would you like to authenticate with the ACME CA?と聞かれたら

2 Spin up a temporary websever (standalone)で試してみたらうまくいった。(ただし、証明取得時のみ、ルータの設定変更も必要。自分の場合は、IpマスカレードのWWW(80port)設定でひっかかるので、そちらを一時的に変更することにしている。)

sudo service apache2 restart  も必要

*2021.9.4 一度で、うまくいかないときもあった。2度実行したらなぜかうまくいった。

*2022.2.14  しばらく時間おくと いい?ようだ。apache2関連でエラーがでるが、気にせず、2のstandaloneで試していると、うまくいく。

*2022.7.18 How would you like to authenticate with the ACME CA?で、以前は3を選択していた。それでもいいかもしれない。

2020年6月28日日曜日

Lets Encrypt 更新

 SSLを無料で使えるLet'sEncryptですが、更新が3か月ごとということで、そのコマンドの手順が、システムが複雑だといろいろ大変。
 ファイヤーウオールで80ポートをどう通すかが、けっこうカギになるようだ。
raspiで運用しているが、1か月ごと自動で処理できないか、試してみる予定。
sudo pico /etc/crontabで設定
sudo certbot certificatesで 残り日数が確認できる
sudo certbot renew --dry-runでテストしてから、うまくいったら、--dry-runをはずして実行するとよいようだ。

2020年4月24日金曜日

bottleでstatic_fileを使う

javascriptを読み込むためにstatic_fileを使おうとしたが、最初使い方がよくわからなかった。こちらを参考させていただく。
jsファイルやJpgファイルなど区別して、mimetypeを指定してやるといいようです。

@app.route('/py/<fname:re:.*\.js>')
def static(fname):
    return static_file(fname,root='/home/pi/c9/bottle/python-getting-started/py',mimetype='application/javascript')
   
@app.route('/py/<fname:re:.*\.jpg>')
def staticjpg(fname):
    return static_file(fname,root='/home/pi/c9/bottle/python-getting-started/py',mimetype='image/jpg')


2020年4月22日水曜日

Raspi2でSSL化

http://itemy.net/?p=1052 あたりを参考にさせていただいた
ついでに、pythonのバージョンも3に変更した
https://qiita.com/Takumi_Kaibara/items/6aadf1ac2c1f6bea41a8

無料SSLはCertbotなどでググるとたくさん情報がある
Cerbot入門
エラーの処理なども説明してくださっているサイトも参考になります
https://blog.ijoru.com/?p=675

リバースプロキシを使うことにした
http://itdoc.hitachi.co.jp/manuals/link/cosmi_v0950/03Y1830D/EY180050.HTM
bottleを使うと、シングルスレッドなので、よく落ちます。それを改善するにはPasteを使うといいようです。
https://www.netmarvs.com/archives/895

RasPi2では、Cloud9とbottleの2つをポート番号を違えて動かしていたので
リバースプロキシからうまくつなげるのに、苦労した。

ネット上にも情報がないので、試行錯誤の結果、以下のようにしたらうまくいった。
default-ssl.confのProxyPassは
ProxyPass /abc  http://localhost:12080/abc
ProxyPass /def http://localhost:12080/def
....等々bottleのサーバを記述し
cloud9については、最後に
ProxyPass /  http://localhost:8080/
としてやるとうまくいった。




2020年4月18日土曜日

標準ツールでパケットキャプチャ

通信の不具合チェックに、いちいちWiresharkをインストールするのも気が引けるので、そういうときは標準ツールでキャプチャして、解析する方法があるようだ。
https://www.hi-song.jp/entry/2017/06/25/071031
を参考にさせていただく。
キャプチャの開始:netsh trace start capture=yes
キャプチャの終了:netsh trace stop
出力先や最大サイズも指定もできて
netsh trace start capture=yes traceFile=D:\YYYYMMDD-HHMMSS.etl maxSize=1000
などとするといいようだ。
https://troushoo.blog.fc2.com/blog-entry-416.html
で、etl2pcapngというツールを入手して、Wireshark用のファイルに変換します。
etl2pcapng 20200418-120600.etl dst.pcap というように。

ルータのファイヤーウオールの設定について

 久しぶりにファイヤーウオールの設定を変えてみた。機器の種類により微妙に設定方法が違うので、注意が必要。
 ある程度きびしめに、設定して必要に応じてポートを開けていくようにするようにしている。ただ、送信元と宛先のプロトコルとポートの組み合わせをよくチェックしながら設定しないとうっかりミスしやすいので注意が必要なようだ。
 ・ディフォルトの設定に加えて
  ①まずいったん、内部から外部へのすべてのアクセスを制限
  ②次に、内部から外部への必要なアクセスを許可していく(Web,メール,DNS等)
  ③外部から内部へのアクセス許可を必要に応じて許可していく
 ③の場合は、IPマスカレードの設定で、ポートにより外部からのアクセスの振り分け設定が必要。

2019年9月16日月曜日

ELMでリクエスト発行

ELMで他サイトからデータを読み取るためにリクエストを動作させたいということで試してみた。サンプルアプリのサイトはうまくいくのに、自分で作成したサイトはうまくいかない。
 こちらをみると、どうやらCORSというものの問題らしい。いまどきは、Same Origin Policyということで、勝手に他のサイトへ飛ばないような制限ができているということは知っていたが、サーバーとクライアント間の安全なやりとり手順が必要ということのようです。
 bottleを使ったサーバなのでhttps://qiita.com/yagays/items/67d9780abef8c36eb625
を参考にさせていただき

from bottle import hook, response
@hook('after_request')
def enable_cors():
    response.headers['Access-Control-Allow-Origin'] = '*'

を追加して解決した

2019年4月25日木曜日

VisualStudio2019が、プロキシ認証があるため うまくライセンス認証できない。Eclipseのネット接続もうまくいかない

VisualStudio2019を使ってみようとしたが、プロキシ認証があるためかうまくいかない。

そこで
https://itblogdsi.blog.fc2.com/blog-entry-350.html
を参考に
devenv.exe.configの設定ファイルの一部を書き換えます。
 <system.net>
        <!--途中省略-->
        <defaultProxy enabled="true" useDefaultCredentials="true">
            <proxy usesystemdefault="True"
                   bypassonlocal="True"
                   proxyaddress="http://127.0.0.1:8888"/>
        </defaultProxy>
    </system.net>

https://github.com/ipponshimeji/MAPE
に便利なツールを公開された方がおりました。PCのローカルにプロキシを置き、そこを経由することで解決できました。

https://github.com/ipponshimeji/MAPE/blob/master/Documentation/ja/Usage.md
がマニュアルです。
mape.exe /ActualProxy:"{\"Host\": \"proxy.example.com\", \"Port\": 8080}"
を実行すると、Okでした。バッチファイルでも、作っておくといいようです。
これまでうまくいかなかった、Gitの操作なども問題なくできるようになりました。

(追伸)Eclipseも、プロキシー認証あるとネット利用がうまくいかないようです。
同様にMapeを利用し
Eclipse 設定>一般>ネットワーク>Nativeにします。
 接続先は127.0.0.1:8888となっている必要があります。
 バイパスは localhostなどとしてやるとうまくいくようです。




2017年5月12日金曜日

ZabbixでL2スイッチの監視(覚書)

Ubuntuにzabbixを入れて、L2スイッチを監視する設定にしてみた。
・最初テンプレートなどから、いろいろ試してみたが
うまくいかなかった。機種によって微妙な違いがあるのかとも思い、
Ubuntuに、snmpのツールを入れて、コマンド操作でスイッチから
OIDのリストを取得し、その情報をもとに、ネットで検索したら
なんとか、送受信のパケットやら、破棄パケット、ブロードキャスト等のOIDがわかってきた。
・データはあくまで蓄積値ということに気づく、zabbixの中で差分を求める設定にできることを知る。なんとか、通信状況の推移を表示するところまでこぎつけた。


<インストール方法>
apt-get install fonts-vlgothic
wget
http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-r
elease_3.0-1+trusty_all.deb
apt-get update
dpkg -i zabbix-release_3.0-1+trusty_all.deb
apt-get install zabbix-agent zabbix-server-mysql zabbix-frontend-php apt-get install snmp

$ mysql -uroot -p
Enter password:
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified
mysql> by
'password' ;
mysql> exit

以下の操作も必要なようです
$ mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin; quit;

Zabbixの設定ファイル/etc/zabbix/zabbix_server.confのデータベースの接続情報を
修正します。
/etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
DBHostは、設定ファイルのコメントに「 If set to localhost, socket is used for
MySQL.」とあるのでMySQLの場合は必須です。

$ zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uroot zabbix -p Enter password:

$ sudo vi /etc/zabbix/zabbix_server.conf
設定内容は以下の通りです。
DBPassword=password

$ sudo vi /etc/apache2/conf-enabled/zabbix.conf
設定箇所は以下の部分です。
php_value date.timezone Asia/Tokyo


$ sudo service zabbix-agent start
$ sudo service zabbix-server start
$ sudo service apache2 restart

うまくいかないときは、一度PCの再起動が必要

※WEB画面http://ホスト/zabbix/で表示させると 以下のエラー出ることあり、以下
のように対処
「PHP Timezone」に「NG」が表示され、インストールが進まない。php.iniを修正し
ないといけない
pico /etc/php5/apache2/php.ini (php.iniの場所はインストールの仕方によって変
わる)
で、timezoneで検索。コメントアウトされているので、タイムゾーンを設定。
;date.timezone =
date.timezone = Asia/Tokyo
php.iniを保存後、apacheを再起動。その後、zabbixのインストール画面で「Retry」
ホタンを押したら「OK」表示に変わり、インストールを続行できた。
Phpでmysqlが使えない状態ならば
apt-get install libapache2-mod-php5 php5-mysql
apt-get install libapache2-mod-auth-mysql
も必要

ID:Admin  pw:zabbixでログインします
右上の人の形のアイコンを選択して、LanguageでJapaneseを選択します。日本語は、
デフォルトでインストールされているので選択するだけです。


自動起動設定
sudo sysv-rc-conf zabbix-agent on
sysv-rc-conf zabbix-server on

○***************************スイッチの監視設定

※うまくzabbix-serverが起動しないとき
mkdir /var/log/zabbix-server/
chmod 777 /var/log/zabbix-server/
とする
/usr/sbin/zabbix_server
で起動できる

/ect/init.d/zabbixserverというファイルに
/usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
 というスクリプト作成し chmod +x /ect/init.d/zabbixserver
/etc/rc.localというファイルに
/ect/init.d/zabbixserverを追加した


<Zabbixの設定について>
・参考資料
http://www.oidview.com/mibs/712/LANART-AGENT.html
にOIDのリストがあるので、参考にできる

また、スイッチから、telnetやsshで、OIDのリストを取得して
それをもとにsnmp OIDをきめた(snmpのインストールが必要)


・基本的な操作
http://ホスト名/zabbix/index.php
Username:Admin  Password:zabbix
①設定>ホストで
 ホスト名、グループ(Discovered hosts  Network  Templatesなど、このへんの詳
細は不明)を選択
  SNMP
インターフェースに対象のL2スイッチのIPアドレス指定 ポートが161
 bulkリクエストを使用は チェックはずす

・ホストを再度クリック
 変更したいホストのところのアイテムをクリック>アイテムの作成>
 名前を任意で入力 タイプはsnmp v2エージェント キーも英数字で任意
  SNMP OIDに調べたい項目を上記資料をもとに入力
 ポート1の受信パケット数をみたいならiso.3.6.1.2.1.2.2.1.10.1
 SNMPコミュニティはL2スイッチにあわせてpublic
  保存時の計算は「差分/時間」とします。こうしないと、累積のパケットが表示さ
れてしまいます。
 最後に更新
・再度ホスト一覧にもどる
 グラフをクリック>グラフの作成>名前は任意
  アイテム>追加>表示たいアイテムを選択>選択>追加
・表示をみるには
 監視データ>グラフ>ホスト(スイッチ)を選択>表示したグラフをコンボボックス
から選択