タグ

networkとLinuxに関するf99aqのブックマーク (10)

  • LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ

    Linuxサーバの障害対応で社内で伝統的に使われているテクニック。I/Oで完全にブロックしているポイントを特定するノウハウ。 問題対応のため、怪しいプロセスをstraceしてみる read(2)やwrite(2)でブロックしていることを発見する read(2)やwrite(2)、connect(2)の引数にはファイルディスクリプタ番号がみえる プロセスIDとファイルディスクリプタ番号を使って、/proc//fd/ の中身をみると、ソケットI/Oで刺さっている場合はソケット番号を発見できる netstat からソケット番号でgrepして接続先を発見する [y_uuki@hogehoge ~]$ sudo strace -p 10471 Process 10471 attached - interrupt to quit read(58, <unfinished ...> Process 10

    LinuxサーバでネットワークI/Oで刺さっている接続先を発見する - ゆううきメモ
  • net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita

    Disclaimer 私はネットワークの勉強もちゃんとしたことないし、Linux のソース読むのもはじめてな素人です。 何かおかしなところなどあれば、遠慮なくコメント欄でまさかりをお願いいたします。 ソースコードの引用に関して 文中で Linux のコード/ドキュメントを引用している箇所がありますが、すべてタグ v4.11 のものです。また、日語のコメント・翻訳文は筆者が入れたものです。 TL; DR Linux のカーネルパラメータ net.ipv4.tcp_tw_recycle は、バージョン4.12から廃止されました。 今後はこの設定は行わないようにしましょう(というかできません)。 一方、net.ipv4.tcp_tw_reuse は安全であり、引き続き利用できます。 …というだけの話なのですが、自分用にメモがてら経緯・背景などを記録しておきます。 なんで気がついたか このパラ

    net.ipv4.tcp_tw_recycle は廃止されました ― その危険性を理解する - Qiita
  • 相手がいないのに ESTABLISHED になってる TCP ポート - tmtms のメモ

    最近 ParallelServer というライブラリを作ったのですが、その最中に奇妙な状態になってる TCP ポートを見つけたので、メモっておきます。 Ruby では TCP サーバーは次のような感じで作ることができます。お手軽ですね。 require 'socket' Socket.tcp_server_loop(12345) do |socket, client_addr| socket.puts "Your IP address: #{client_addr.ip_address}" name = socket.gets socket.puts "Hello, #{name}" socket.close end これは 12345 ポートでクライアントからの接続を待ち、接続されたらクライアントのIPアドレスとクライアントからの入力をクライアントに送信して切断するだけの簡単なプログラム

    相手がいないのに ESTABLISHED になってる TCP ポート - tmtms のメモ
  • Linuxでネットワークの監視を行えるモニタリングコマンド20選 | 俺的備忘録 〜なんかいろいろ〜

    今回は、Linux上でネットワークトラフィックの監視を行えるモニタリングコマンドについて、数あるコマンドから20個を紹介する。 1.iftop 以前にこちらでも書いているiftopは、個別のソケットで受信・送信パケットをひと目で見る事が出来るコマンド。 通信ごとに個別のプロセスを表示させることは出来ないが、どのホストとの接続がどの程度の帯域を使用しているのかはひと目で分かるだろう。 以下のコマンドでインストールが出来る。 sudo apt-get install iftop # Debian/Ubuntuの場合 sudo yum install iftop # RHEL系の場合 2.bmon 『bmon』は、グラフでトラフィックの負荷を表示してくれるモニタリングコマンドだ。 どのNICのトラフィックを表示させるかを上下キー、モニタリングを行うパケットの種類を左右キーで選択する。 このコマン

  • Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ

    Linux kernel 3.9 のマージウィンドウでは SO_REUSEPORT というソケットオプションがマージされました。 Merge branch 'soreuseport' · c617f39 · torvalds/linux · GitHub これは同一ポートに複数のリスナー(listen ソケット)が bind できるようになるというもので、Webサーバなど単一のポートに多くのコネクションが来るようなワークロードで、複数プロセスでうまく負荷分散ができるようになるそうです。 (これまでだと一人がaccept()してそれぞれの worker に渡すというようなモデルがありましたが、これでは accept() する部分がボトルネックになってしまいがちでした。) BSDでは元々 SO_REUSEPORT オプションはあったようですが、マルチキャスト通信で使うもののようです。Linux

    Linux kernel 3.9 の新機能 SO_REUSEPORT を試してみる - nigakyのブログ
  • さくらのVPSでiPhone用の野良WiFi通信傍受対策のL2TP/IPsec(VPN)を設定したメモ(CentOS5) - nori_no のメモ

    野良WiFiの危険性については、こちら[FONなど野良WiFiの通信内容傍受の危険性について - nori_no のメモ]に書いた通りですが、さくらのVPSを借りたので、iPhone で FON などの野良WiFiに接続したときの盗聴対策用 L2TP/IPSec (VPN)サーバの設定をしてみました。 ※見よう見まねで設定していますので、突っ込み歓迎です。 L2TP/IPsecについては先日試したところ失敗したので[とりあえずPPTPで設定していた]のですが、今回は何とか成功しました。 ただし、PPTPの時のように確認できるすべての環境で接続可能とする事はできませんでした(「WindowsXPでの接続不具合」の項参照)ので、まだ改善の余地があるのだと思います。 openswan, xl2tpd のインストール 設定方針として、CentOS5.5の標準カーネルはそのまま(2.6.18)として

    さくらのVPSでiPhone用の野良WiFi通信傍受対策のL2TP/IPsec(VPN)を設定したメモ(CentOS5) - nori_no のメモ
  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
  • prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー

    Catalyst を POE で動かす Engine の Catalyst::Engine::HTTP::POE という実装が CPAN にあります。"Single-threaded multi-tasking Catalyst engine " だそうです。"Single-threaded" と言いつつも実装を覗いてみると環境変数 CATALYST_POE_MAX_PROC を 1 よりも大きく設定することで prefork する実装になってます。POEシングルスレッドではアプリケーション内で発生するブロックを避けることが難しいのでそのための実装じゃないかなと思います。 ところでこの Catalyst POE エンジン、prefork の実装はどのように行っているかというと POE から prefork と名の付いたイベントが発生するとおもむろに子プロセスを生成する、というのもの。複数の

    prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー
  • ssh scp sftp の正しい自動実行方法

    Landscape トップページ | < 前の日 2004-11-15 2004-11-17 次の日 2004-11-18 > Landscape - エンジニアのメモ 2004-11-17 ssh scp sftp の正しい自動実行方法 当サイト内を Google 検索できます * ssh scp sftp の正しい自動実行方法この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [ssh] [セキュリティ] scpsftp について調べていると、正しい自動実行についての文書を見つけた。cron から scpsftp を自動実行しようと考えている私には役に立つ文書だ。 - 「専用のパスフレーズなしの鍵を作って権限限定」がベスト正しいssh/scpの自動運転は ぴろ日記 http://www.banana-fish.com/~piro/20040609.

  • こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋

    前回までで、 複数のWebサーバにロードバランスする というところまではできました。 これでリアルサーバへ負荷分散することができたのですが、冗長性がありませんでした。つまり、リアルサーバがダウンしても、ロードバランサはそれを認識できず、ダウンしているリアルサーバなのにパケットを送ってしまっていました。 このとき、クライアントから見ると、たまにサーバから応答がないように見えてしまいます。 というわけで今回は冗長化のお話、 リアルサーバのヘルスチェック を紹介したいと思います。 今回はkeepalivedを使います。 おおざっぱにいうと、keepalivedは2つの機能を提供します。 1. ヘルスチェック機構と連携したIPVSでのリアルサーバの管理 (--check) 前回ipvsadmコマンドを使って行ったような、バーチャルIPアドレス (VIP) やリアルサーバの管理を設定ファイルに記述す

    こんなに簡単! Linuxでロードバランサ (2) : DSAS開発者の部屋
  • 1