一、ifconfig
1.ifconfigの概要
ifconfigは、ネットワークインターフェイスの構成情報を取得するだけでなく、構成を変更することもできます。ネットワークカードの再起動後にマシンを再起動すると、ifconfigコマンドで構成されたネットワークカード情報は存在しなくなります。
2.Ifconfigコマンド
ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address
up:指定されたネットワークデバイス/ネットワークカードを起動します。
ダウン:指定されたネットワークデバイス/ネットワークカードをオフにします。このパラメータは、指定されたインターフェイスを介したIP情報の流れを効果的にブロックできます。インターフェイスを完全に閉じる場合は、コアルーティングテーブルからインターフェイスのすべてのルーティング情報も削除する必要があります。
arp:指定したネットワークカードがARPプロトコルをサポートするかどうかを設定します。
-promisc:ネットワークカードの無差別モードをサポートするかどうかを設定します。このパラメーターを選択すると、ネットワークカードはネットワーク内で送信されたすべてのデータパケットを受信します。
-allmulti:マルチキャストモードをサポートするかどうかを設定します。このパラメーターを選択すると、ネットワークカードはネットワーク内のすべてのデータを受信します。マルチキャストパケット
-a:すべてのインターフェイス情報を表示します
-s:要約情報を表示します(netstat -iと同様)
追加:指定したネットワークカードのIPv6アドレスを構成します
del:指定したネットワークカードのIPv6アドレスを削除します
mtu n:ネットワークカードの最大送信単位を設定します( bytes)
netmask xxx:ネットワークカードのサブネットマスクを設定します。マスクは、接頭辞0xが付いた32桁の16進数にすることも、ドットで区切った4つの10進数にすることもできます。ネットワークをサブネットに分割する予定がない場合は、このオプションを無視できます。サブネットを使用する場合は、ネットワーク内のすべてのシステムに同じサブネットマスクが必要であることに注意してください。
tunel:トンネル
を確立しますdstaddr:ポイントツーポイント通信を確立するためのリモートアドレスを設定します
-broadcast address:指定したネットワークカードのブロードキャストプロトコルを設定します
-pointtopoint address:ネットワークカードのポイントツーポイント通信プロトコル
を設定しますmulticast:
ネットワークカードアドレスのmulticastフラグを設定します:ネットワークカードのIPv4を設定しますアドレス
txqueuelenlength:ネットワークカードの送信キューの長さを設定します
3.ifconfigの一般的なコマンド
ifconfig
アクティブなネットワークカード情報をifconfig -a
表示するすべてのネットワークカード情報を表示ifconfig eth0 192.168.1.100
するifconfig eth0 192.168.1.100 netmask 255.255.255.0
ネットワークカードeth0のIPアドレスを構成するネットワークカードeth0のIPアドレスとサブネットマスクを構成する
ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.2.100 netmask 255.255.255.0 up
ifconfig eth0 del 192.168.1.100
ネットワークカードに複数のIPアドレスを追加するeth0ネットワークカードのIPアドレスを削除するeth0ネットワークカードifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
のMACアドレスを変更するethifconfig eth0 up
ネットワークifconfig eth0 down
カードを起動するeth0ネットワークカードをオフにするethネットワークカードをifconfig eth0 reload
再起動するeth0ARPをifconfig eth0 arp
有効にするARPをifconfig eth0 -arp
無効ifconfig eth0 mtu 1500
にするethネットワークカードのMTU値を設定するネットワークカードifconfig eth0 allmulti
のマルチキャスト機能を有効にするifconfig eth0 -allmulti
eth0ネットワークカードを無効にするeth0マルチキャスト機能
二、ethtool
1.ethtoolの紹介
Ethtoolは、Linuxネットワークドライバーの診断および調整ツールです。接続ステータス、ドライバーバージョン、PCIバスの場所など、ネットワークデバイスに関する情報を取得できます。機能は次のとおりです。
(1)識別および診断情報を
取得します。(2)拡張情報を取得します。デバイス統計
(3)イーサネットデバイスの速度、デュプレックス、自動ネゴシエーション、およびフロー制御を制御します
(4)チェックサムオフロードおよびその他のハードウェアオフロード機能を
制御します(5)DMAリングサイズと割り込み制御を制御します
(6)複数のキューを制御しますデバイスの受信キューの選択
(7)フラッシュメモリ内のファームウェアをアップグレードするには、
ethtoolを実行するためにroot権限が必要です。
2.ethtoolコマンド
ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX
ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]
ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N]
ethtool [-G] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]
ethtool [-e] ethX [raw on|off] [offset N] [length N]
ethtool [-E] ethX [magic N] [offset N] [value N]
ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]
ethtool [-p] ethX [N]
ethtool [-t] ethX [offline|online]
ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external]
[wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]
-a:ネットワークカード内の受信モジュールRX、送信モジュールTX、および自動ネゴシエーションモジュールのステータス(オンまたはオフ)を確認します。
-A:ネットワークカード内の受信モジュールRX、送信モジュールTX、および自動ネゴシエーションモジュールのステータスをオンまたはオフに変更します。
-c:ネットワークカード集約情報の表示
-C:ネットワークカード集約情報の設定
-g:ネットワークカードRX / TXリングパラメータ情報の表示
-G:ネットワークカードRX / TXリング設定の変更
-i:ドライバ名などのネットワークカードドライバ情報の表示、バージョンなど。
-d:レジスタダンプ情報を表示します。一部のネットワークカードドライバはそれをサポートしていません。
-e:EEPROMダンプ情報を表示します。一部のネットワークカードドライバはそれをサポートしていません。
-E:ネットワークカードのEEPROMバイトを変更します。
-k:ネットワークカードのオフロードパラメータステータスを表示します:rx-checksumming、tx-checksummingなどを含むオンまたはオフ。
-K:ネットワークカードのオフロードパラメータのステータスを変更します。
-p:異なるethXに対応するネットワークカードの物理的な場所を区別するために使用されます。一般的な方法は、ネットワークカードポートのLEDを継続的に点滅させることです。Nは、ネットワークカードの点滅時間を秒単位で示します。
-r:自動ネゴシエーションモジュールのステータスがオンの場合、自動ネゴシエーションモジュールを再起動します。
-S:ネットワークカードによって送受信されたバイト数、送受信されたブロードキャストパケットの数など、NICおよびドライバ固有の統計パラメータを表示します。
-t:ネットワークカードにセルフテストを実行させます。オフラインとオンラインの2つのモードがあります。
-s:ネットワークカードの速度、シンプレックス/フルデュプレックスモード、Macアドレスなど、ネットワークカードの構成の一部を変更します。
3.オフロードオプション
rx-checksumming: off|on
受信側のハードウェアチェックサム計算。オンに設定できる場合は、ネットワークカードがそれをサポートしていることを意味します。tx-checksumming: off|on
送信側のハードウェアチェックサム計算は、オンに設定できる場合、ネットワークカードがスscatter-gather: off|on
キャッターギャザー機能をサポートしていることを意味します。これは、ネットワークカードがTSOをサポートするために必要な条件の1つです。tcp-segmentation-offload: off|on
TSOは、ネットワークカードを使用してTCPパケットをフラグメント化し、CPUの負荷を軽減するテクノロジーです。LSO(ラージセグメントオフロード)とも呼ばれます。TSOはTCP用、UFOはUDP用です。ハードウェアがTSO機能をサポートしている場合、ハードウェアはTCPチェック計算とスキャッターギャザー機能もサポートする必要があります。
TSOをサポートしないネットワークカードでは、TCP層はIP層にデータを送信するときにmssを考慮するため、TCPによって送信されたデータを断片化することなくIPパケットに含めることができます。mssは、TCPが最初に接続を確立するときにネットワークカードによって使用されます。 MTUは決定され、反対側とネゴシエートされるため、MTU = 1500のネットワークカードでは、TCPによってダウンワードに送信されるデータはmin(mss_local、mss_remote)-ipheader-tcpヘッダーより大きくなりません。
ネットワークカードがTSOをサポートしている場合、TCPレイヤーはmssを徐々に増やします(常に整数の倍数で増やします)。TCPレイヤーが大きなデータブロックを下向きに送信すると、TCPヘッダーのみが計算され、ネットワークカードはIPレイヤーから大きなデータパケットを受信した後に自動的に再起動します。いくつかのIPデータパケットに分割し、IPヘッダーを追加し、TCPヘッダーをコピーして、チェックサムおよびその他の関連データを再計算し、CPU関連の処理作業の一部をネットワークカードに転送して処理します。udp-fragmentation-offload: off|on
UFOは、ネットワークカードからUDPに提供されるTSOのようなテクノロジーです。generic-segmentation-offload: on
GSOは、ネットワークカードドライバに送信されるまで、データの断片化を可能な限り遅らせます。このとき、ネットワークカードが断片化機能(TSO、UFOなど)をサポートしているかどうかを確認し、ネットワークカードへの直接送信をサポートしている場合は、断片化してからに送信します。ネットワークカード。このように、大きなデータパケットは、複数のデータパケットに分割されて別々に処理されるのではなく、プロトコルスタックを1回通過するだけで済み、効率が向上します。コマンド:ethtool -K eth0 gso on | offlarge-receive-offload: off
LROは、受信した複数のTCPデータを1つの大きなデータパケットに集約し、それをネットワークプロトコルスタックに渡して処理します。これにより、上位層のプロトコルスタックの処理オーバーヘッドが削減され、TCPデータパケットを受信するシステムの機能が向上します。generic-receive-offload: on
GRO、基本的な考え方はLROに似ており、LROのいくつかの欠点を克服し、より用途が広いです。以降のドライバーはすべて、LROではなくGROインターフェースを使用します。
4.ethtoolの一般的なコマンド
ethtool ethX
ethtool –i ethX
ethXネットワークポートの基本設定を照会するethXネットワークポートの関連情報を照会する ethtool –d ethX
ethXネットワークポートの登録情報を照会するethtool –r ethX
ethXネットワークポートを適応モードにリセットするethtool –S ethX
パケットを送受信するethXネットワークポートの統計を照会ethtool –s ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii]
するネットワークポートレートを設定する10/100 / 1000M、ネットワークポートの半分全二重、ネットワークポートが自動ネゴシエーションであるかどうか、ネットワークポートタイプethtool -K eth0 tso on | off
設定TSO機能
3、ip
1.ipの概要
ipは、iproute2ソフトウェアパッケージの強力なネットワーク構成ツールであり、ルート、ネットワークデバイス、ポリシールーティング、およびトンネルを表示または操作するために使用されます。
2.ipコマンド
ip [OPTIONS] OBJECT COMMAND | help
(1)OBJECTサブコマンド
リンク:ネットワークデバイス
アドレス:プロトコル(IPまたはIPv6)アドレス
addrlabel:プロトコルアドレス選択のラベル構成
ネイバー:ARPまたはNDISCキャッシュエントリ
ルート:ルーティングテーブルエントリ
ルール:ルーティングポリシーデータベースの
ルールmaddress:グループブロードキャストアドレス
mroute:マルチキャストルーティングキャッシュエントリ
トンネル:IPトンネル
xfrm:IPSecプロトコルフレームワーク
(2)オプション
-V、-バージョン:コマンドバージョン情報の表示
-s、-stats、統計:詳細情報の出力
-h、-human、-人間が読み取り可能:読み取り可能な統計とサフィックスを出力します
-iec:人間が読み取り可能なレートをIEC標準単位で出力します(たとえば、1K = 1024)
-f、-family FAMILY:プロトコルファミリ、inet、inet6、ipx、dnet、linkを指定します。
-4:IPv4プロトコルを使用します
-6:IPv6プロトコルを使用します
-0:link
-o、-oneline:各レコードを1行に出力し、newline文字を「\」文字に置き換えます。
-r、-resolve:ホストアドレスの代わりにシステム名リゾルバーを使用してDNS名を出力します。
3.ipの一般的なコマンド
ip link show
ネットワークインターフェイス情報を表示するカードをip link set eth0 up
開くカードをip link set eth0 down
オフにするip link set eth0 promisc on
NICハイブリッドモードをip link set eth0 promisc off
オフにするハイブリッドモードをオフにするNICip link set eth0 txqueuelen 1200
設定キューの長さNICip link set eth0 mtu 1400
設定最大伝送ユニットカードip addr show
表示ip addr add 192.168.0.1/24 dev eth0
LANIP情報提供eth0LANIPアドレス192.168.0.1eth0ip addr del 192.168.0.1/24 dev eth0
カードのIPアドレスを削除するip route show
表示システムルーティングip route add default via 192.168.1.254
設定デフォルトルートip route list
ビューのルーティング情報ip route add 192.168.4.0/24 via 192.168.0.254 dev eth0
。192.168.4.0ネットワークセグメントのゲートウェイを192.168.0.254にip route add default via 192.168.0.254 dev eth0
設定し、eth0インターフェイスのデフォルトゲートウェイを192.168.0.254に設定しますip route del 192.168.4.0/24
。192.168.4.0ネットワークセグメントのゲートウェイをip route del default
削除します。デフォルトルートを削除します。ルートを削除しますip route delete 192.168.1.0/24 dev eth0
。
4、iptables
1.iptablesの概要
Iptablesは、UnixおよびLinuxシステムに付属する、優れた完全無料のパケットフィルタリングベースのファイアウォールツールです。非常に強力な機能と非常に柔軟な使用法を備えています。サーバーを流入、流出、およびサーバーを通過するデータパケットを細かく制御できます。
Iptablesは、linux 2.4および2.6カーネルに統合されたサービスであり、OSIモデルの第2層、第3層、および第4層で機能します。
2.iptablesはデータパケットを送信します
(1)データパケットがネットワークカードに入ると、最初にPREROUTINGチェーンに入り、カーネルはデータパケットの宛先IPに従って転送する必要があるかどうかを判断します。
(2)データパケットがマシンに入ると、INPUTチェーンに到達します。データパケットがINPUTチェーンに到着すると、すべてのプロセスがそれを受信します。このマシンで実行されているプログラムは、データパケットを送信できます。データパケットは、OUTPUTチェーンを通過してから、POTROUTINGチェーンの出力に到達します。
(3)データパケットを転送する必要があり、カーネルが転送を許可している場合、データパケットはFORWARDチェーンを通過してから、POTROUTINGチェーンの出力に到達します。
3.iptablesルールテーブル
iptablesには、フィルターテーブル、natテーブル、mangleテーブル、rawテーブルが組み込まれており、それぞれパケットフィルタリング、ネットワークアドレス変換、パケット再構築(変更)、およびデータ追跡を実装するために使用されます。
チェーンは、データパケットが伝播されるパスです。各チェーンは、多くのルールのチェックリストであり、各チェーンには複数のルールを含めることができます。データパケットがチェーンに到着すると、iptablesはチェーンの最初のルールからチェックを開始し、データパケットがルールで定義された条件を満たすかどうかを確認します。満たされている場合は、ルールで定義されている方法に従ってパケットを処理します。それ以外の場合、iptablesは次のルールをチェックし続けます。パケットがチェーン内のどのルールも満たしていない場合、iptablesはチェーンで定義されているデフォルトのポリシーに従ってパケットを処理します。
4.iptablesルールチェーン
INPUT:INPUTルールチェーンのポリシーをファイアウォールに入るパケットに
適用します。OUTPUT:出力ルールチェーンのポリシーを送信パケットに
適用します
。FORWARD:パケットを転送するときにFORWARDルールチェーンのポリシーを適用します。PREROUTING:パケットをルーティングする前に適用します。PREROUTINGチェーン
のルール:POSTROUTING:データパケットをルーティングした後、POSTROUTINGチェーンのルールを適用します
5.iptablesコマンド
iptables [-t table] {-A|-C|-D} chain rule-specification
ip6tables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] -R chain rulenum rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -S [chain [rulenum]]
iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]
iptables [-t table] -N chain
iptables [-t table] -X [chain]
iptables [-t table] -P chain target
iptables [-t table] -E old-chain-name new-chain-name
-h:ヘルプを取得(ヘルプ)
-A:指定されたチェーンの最後に新しいルールを追加します
-D:指定されたチェーンのルールを削除します。ルール番号と内容に従って削除できます
-I:指定されたチェーンに挿入します(挿入)新しいルール、デフォルトで最初の行に追加
-R:指定されたチェーンのルールを変更、置換(置換)、ルール番号と内容に従って置換できます
-L:指定されたすべてのチェーンを一覧表示(リスト)表示するルール
-E:チェーン自体を変更せずにユーザー定義チェーンの名前を変更します
-F:フラッシュ(フラッシュ)
-N:ユーザー定義ルールチェーンを作成します
-X:指定したテーブルのユーザー定義ルールチェーンを削除します
-P :指定したチェーンのデフォルトポリシーを設定します(policy)
-Z:すべてのテーブルのすべてのチェーンのバイトカウンターとパケットカウンターをクリアします
-n:出力結果を数値形式で表示します(数値)
-v:ルールテーブルの詳細情報を表示します(詳細) )情報
-V:バージョンの表示(バージョン)
6、ipatblesの一般的に使用されるコマンド
iptables -D INPUT 1
ルールチェーンの最初のルールを削除しiptables -I INPUT -p icmp -j REJECT
、ファイアウォールに入るICMPプロトコルパケットを拒否し、ファイアウォールiptables -A FORWARD -p ! icmp -j ACCEPT
がICMPプロトコルを除くすべてのネットワークパケットを転送できるようにiptables -A FORWARD -s 192.168.1.11 -j REJECT
し、192.168.1.11ホストからのパケットの転送を拒否しiptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
、192.168.0.0 / 24ネットワークセグメントからのパケットを転送します。
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP
iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
送信元IPアドレスがプライベートアドレスであるデータパケットを、eth1ネットワークカードからファイアウォールに入力して破棄します。
iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
202.13.0.0/16ネットワークセグメントからのSSHログインを許可する
iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT
開いているTCPポート20-1024にアプリケーションサービスの提供を許可する
iptables -I INPUT -p icmp --icmp-type Echo-Request -j DROP
iptables -I INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT
iptables -I INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
他のホストからのファイアウォールホストへのpingを禁止します。ファイアウォールホストが他のホストにpingを実行できるようにします。service iptables save
ファイアウォール構成を/ etc / sysconfig / iptablesに保存します。フィルターテーブルのiptables –F
すべてのルールチェーンをクリアしiptables –X
ます。フィルターテーブルのユーザー定義チェーンを削除します。