sudoでリダイレクトしてファイルを書き換えるとか

LVSの設定するのにIP forwardを変更する必要があって、それを変更するのに、

sudo echo '1' > /proc/sys/net/ipv4/ip_forward

とかやろうとしたけど、リダイレクトがroot権限で動いてくれなくて上手くいかない。こういう場合は、

echo '1' | sudo tee /proc/sys/net/ipv4/ip_forward
sudo sh -c "echo '1' > /proc/sys/net/ipv4/ip_forward"

のどちらかでやるといいらしい。個人的には何となく上の方が好み。書き込み権限が無い場合はこうやればいいのか。

※追記:ごめんなさい。上のコマンド例の下の方「sudo su -c」と書いてました。suじゃなくてshです。sudo suとかしちゃいかんです。

あと、IP forwardする場合は、/etc/sysctl.confもちゃんと書き換えて再起動してもIP転送してくれるようにする。

そして、

sudo sysctl -w net.ipv4.ip_forward=1

だけでいいことを知った。まぁいい。勉強にはなった。