タグ

Linuxとnetworkに関するyachimonのブックマーク (15)

  • Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ

    概要 netstatやssコマンドにより、あるホストと他のホストとのコネクションを一覧表示できる。しかし、Webシステムの場合、クライアントが並行接続するため、 同一ホストから複数のポートを介してコネクションを確立しているケースが多い。コネクション数が大きい場合は、1万以上のコネクションが表示され、ホスト間のコネクション状況を人間の目で概観することが難しかった。 そこで、同一ホストとのコネクションを集約表示し、コネクション状況を概観する 「lstf」 (「えるえすてぃーえふ」)コマンドをつくった。 github.com lstfの特徴は以下の通り。 コマンド実行ホストを起点に、active openコネクションかpassive openコネクションを判定する。つまり、接続をする側かされる側かを判定する。 各ホストフローごとにコネクション数を表示する Goで実装されているポータビリティ。i3

    Linuxサーバ上でホスト間コネクションを集約表示するツール lstf をつくった - ゆううきメモ
  • 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
  • Linuxネットワークドライバの開発 - Handwriting

    この記事はLinux Advent Calendar 2016 9日目の記事です。 遅刻してしまい申し訳ございません。。。 とある事情があって1ヶ月半ほど独自NICのLinux向けのネットワークドライバを開発していた。 今回はARM用のデバイスドライバを開発した。NICはXilinx社のFPGAであるZYBOを用いて開発した。 まだ十分に実用段階というわけではないが、ひとまず独自NIC経由でのpingやiperfが通ったので、後学のために知見を残しておきたい(誰得だ、という感じだが)。 ソースコードはまだ公開されていないが、そう遠くないうちに公開する予定(たぶん)。 はじめに Linuxのデバイスには キャラクタデバイス - バイト単位のデータ通信 (e.g. シリアルポート) ブロックデバイス - ブロック単位のデータ通信 (e.g. ディスク) ネットワークデバイス の3種類がある。ネ

    Linuxネットワークドライバの開発 - Handwriting
  • はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena

    はてな・ペパボ技術大会〜インフラ技術基盤〜@京都

    はてなにおけるLinuxネットワークスタックパフォーマンス改善 / Linux network performance improvement at hatena
    yachimon
    yachimon 2016/07/02
    web界隈もそのうちFPGAとか使いはじめるんだろうか。
  • プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG

    インフラエンジニアの中西です。 最近プログラマーからこのような話を耳にします。 「ネットワークって難しい/よくわからない」 最近ではAWS,GCPをはじめとするクラウドサービスが充実しているのでWeb界隈のエンジニアはなおさら気にするシーンが少なくなったように思います。 今日は最低限これだけ覚えていたら有事の際にちょっとは役に立ちますよという話が出来たらなと思います。 書式統一のため sudo を省略しています。ご容赦下さい。 コマンド編 ping ping です。疎通確認を行う時のコマンドです。 さすがに分かると聞こえてきそうですね。 例えば、192.168.1.1 というサーバに通信を確認したい場合はこうです。 $ ping 192.168.1.1 繋がる場合はこうなります。 $ ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 d

    プログラマーが「ネットワーク怪しくない?」と思った時に覚えておくと便利なことまとめ - LIVESENSE ENGINEER BLOG
  • SYNを受け取っているのにSYN-ACKを返さない件 - FLINTERS Engineer's Blog

    こんにちは!@kakeyangです! 久しぶりの投稿です。 なぜなら、、、沖縄の八重山諸島に旅行に行ってましたのです! 楽しかったなぁ(遠い目) 今回は、開発で経験した通信障害の原因とその対策を公開します。 原因がLinuxカーネルの設定だったので、結構苦労しました。。。 障害概要 異なるネットワーク内(片方は弊社ネットワーク)の物理サーバ間(弊社が受信側)でインターネット越しにソケット通信を行う。 毎回ではないが1割程度の割合で、送信側でconnection timeoutを観測。 受信側にはapacheのログが残っていなかったので、webサーバには届いていない。 送信側でtracerouteすると、確かに弊社ネットワーク内には入っている。 弊社ネットワーク内のF/Wから物理サーバの間のどこかで通信が途絶えているっぽい! というところまではすぐに判明しました。 調査内容 データセンターと

  • LAN内で利用されているIPアドレスを調べる『arp-scan』コマンド | 俺的備忘録 〜なんかいろいろ〜

    あまり知らない環境で作業をする際、LAN内で稼働しているマシンの一覧が欲しくなる事もあるだろう。 そんなときに便利なのが、今回紹介する『arp-scan』コマンドだ。 このコマンドを実行することで、同じネットワークに所属して動作しているマシンのIPアドレスMACアドレスの一覧を取得することができる。 1.インストール まずはインストールから。 インターネットに接続している環境であれば、以下のコマンドを実行するだけだ。 Debian/Ubuntuの場合 apt-get install arp-scan RHEL系の場合 yum install arp-scan ソースからコンパイルする場合は、前提となるpcapなどをインストールした上で、以下のようにコマンドを実行する。 git clone https://github.com/royhills/arp-scan.git cd arp-sc

  • よくわかるLinux帯域制限 | GREE Engineering

    矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が

    よくわかるLinux帯域制限 | GREE Engineering
  • ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる

    既に有名な話ですが、CentOS 7およびRed Hat Enterprise Linux 7からはifconfigコマンドやnetstatコマンドが非推奨となり、デフォルトインストールすらされなくなりました。代替として、ifconfigコマンドはipコマンド、netstatコマンドはssコマンドが用意されています。 というわけでさっそくssコマンドを試していたのですが、明らかに動きがおかしなところがあり、少し調べてみました。 そして、「netstatコマンドの代替と思って安易にssコマンドを使うと、これは痛い目に遭うな……」ということが分かったので、不幸になる人を少なくするためにこのエントリを書きました。 概要 結論から先に言うと、CentOS 7/ RHEL 7のssコマンドには「UDPの開放ポートがTCPと報告される」というひどいバグがあり、使うべきではありません。 また、ssコマン

    ssコマンドはバグと地雷の塊なのでnetstatの代わりにならない - ろば電子が詰まつてゐる
  • Linuxでネットワークの監視を行えるモニタリングコマンド20選 | 俺的備忘録 〜なんかいろいろ〜

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

  • DMM inside

    アニメ初の快挙!海外アニメ賞を受賞した『スキップとローファー海外ライセンス部長&プロデューサーが語る、奮闘の舞台裏

    DMM inside
    yachimon
    yachimon 2014/08/07
    忘れてハマる自信ある。
  • 訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo

    これはちゃんとチェックしておかないとなぁ。 Deprecated Linux networking commands and their replacements « Doug Vitale Tech Blog ==== この記事で詳しく説明する非推奨のLinuxネットワークコマンドは:arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route である。iwconfig以外の コマンドは、net-toolsパッケージという、数年間メンテナンスされていないパッケージに含まれている。これらのユーティリティによって提供される機能は、新しいipコマンドを主に使うiproute2 スイートで再提供され、改善され続けている。iproute2ソフトウェアのコードとドキュメントは、Kernel.orgとLinux Foundationで見ることができ

    訳:非推奨になったLinuxネットワークコマンドの代替コマンド - aws memo
    yachimon
    yachimon 2014/06/10
    Cisco IOS でいまだに wr とか i で再起動とかやってる俺にはまぶしすぎる。
  • 二つの意味で「サーバー化」が進むネットワークスイッチ

    ネットワークスイッチは今、二つの意味で「サーバー化」が進んでいる。第一に、ネットワークスイッチの業界構造がサーバーと同じになり、「ホワイトボックス」の台頭や「OSのLinux化」が進んでいる。第二に、ネットワークスイッチで業務アプリケーションを稼働させるという、文字通りの「サーバー化」が進んでいるのだ。 第一のサーバー化は、ネットワークスイッチの「ダウンサイジング化」とも言うべき動きである。サーバーの世界では1990年代以降、高価なメインフレームが安価でオープンな「PCサーバー」によって駆逐された。それと同じことが、ネットワークスイッチの世界でも始まっており、業界標準部品で構成された「ホワイトボックススイッチ」が台頭しているほか、「ネットワークOS」として「Linux」が普及し始めている(ITpro特集「ネットワークにダウンサイジングの波」を参照)。 第二のサーバー化は、ネットワークスイッ

    二つの意味で「サーバー化」が進むネットワークスイッチ
  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
  • 1