Linuxの知っていれば得をする対策方法のまとめ

NIC自動起動

ネットワーク再起動をした場合、デフォルトでeth0が起動しないので起動するようにする。

// 編集
# vi /etc/network/interfaces

// ~内容~
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
#auto lo
auto lo eth0 ← 修正:eth0を追加
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

IPv6プロトコルを無効にする

// 編集
# vi /etc/modprobe.d/aliases

// ~省略~
-alias net-pf-10 ipv6
+alias net-pf-10 off ← 修正:ipv6 → offにする。

locate(高速検索ツール)

ファイルを高速に検索する

// インストール
# apt-get install locate

// データベースを更新
# updatedb

// 使い方
# locate php.ini

SYNフラッドやDDoS攻撃対策

// 編集
# vi /etc/sysctl.conf

// syn flood攻撃対策
// Smurf攻撃対策
// ICMPエラー無視
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

// 設定を即座に反映する
# sysctl -p

TCP/IP で TIME_WAIT 状態が残る時間を短くする

TIME_WAIT は遅延パケット対策で猶予時間を持っている。CLOSEDまでの猶予時間を少し短めにしコネクションを解放を速くする。極端に短くすると通信エラーの原因になるかもしれない。 DoS攻撃対策にもなる。

// 編集
# vi /etc/sysctl.conf

// TIME_WAIT状態から開放される時間が短くする。(Default:60秒)
net.ipv4.tcp_fin_timeout = 30

// 設定を即座に反映する
# sysctl -p

Error: Driver 'pcspkr'

あまり気にする事ではないが、pcspkr の kernel エラーが発生する事があるので対処します。

// 編集
# vi /etc/modprobe.d/blacklist

// ~省略~
blacklist snd-pcsp ← 最後に追加

SCPで巨大なファイルの転送に失敗する場合の対処

先方との兼ね合いで巨大ファイルの転送が失敗する時は、下記の設定を変更するとうまく行く場合がある。確かではない。ネットワークのスループットが低下する場合があるので転送後は元に戻す。

// window scalingを無効にする
# sysctl net.ipv4.tcp_window_scaling=0

// 元に戻す。(Default:1)
# sysctl net.ipv4.tcp_window_scaling=1

sysctl コマンドのまとめ

sysctl コマンドの使いそうな物だけまとめました。

// 扱えるパラメーター一覧
# sysctl -a | less

// 特定の値だけ表示
# sysctl net.ipv4.tcp_fin_timeout
net.ipv4.tcp_fin_timeout = 30

// 値を一時的に変える(再起動したら元に戻る)
# sysctl net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_fin_timeout = 30

// sysctl.conf に書いた設定を即座に反映する
# sysctl -p

読んで頂いて有り難うございます!