ip_forward
を0
から1
に変更しようとしましたが、Xubuntu 11.10のルート権限があっても失敗します。 Ubuntu 11.10を使用しているとき、このような問題はありません
chiaki@chiaki:~$ Sudo echo 1 > /proc/sys/net/ipv4/ip_forward
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
何か案が?
Sudo
では簡単にリダイレクトできません。 tee
など、いくつかの潜在的なソリューションがあります。
システムファイルではなく、ホームディレクトリ内のファイルなど、Sudo
を呼び出すユーザーとして所有するファイルにリダイレクトできます。
例
# it works when re-direction to a location / file the user has permission to access
ubuntu@ubuntu:~$Sudo echo "it works" > ~/file
ubuntu@ubuntu:~$cat file
it works
# But NOT if you do not have permission to access the target
ubuntu@ubuntu:~$Sudo echo "it works" > /root/file
-bash: /root/file: Permission denied
Sudo bash -c
を使用し、コマンド全体を引用します
Sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
tee
を使用します
echo "1" | Sudo tee /proc/sys/net/ipv4/ip_forward
/proc/sys
のパラメーターを変更する場合、/etc/sysctl.conf
を編集してからsysctl -p
を実行するのが最善です。このようにして、変更は再起動後も保持されます。
これを使用できます:
user@ubuntu:~Sudo -s
enter password for Sudo:
root@ubuntu:~echo 1 >/proc/sys/net/ipv4/ip_forward :)
次のコマンドを入力すると、コンピューターを再起動しなくても機能します。
echo 1 >/proc/sys/net/ipv4/ip_forward
再起動すると、パラメータは「0」に戻ります
次のコマンドを試してください。再起動しても機能します。
vim /proc/sysctrl.conf ' - uncommen "net.ipv4.ip_forward=1"
sysctl -p
これで、マシンを再起動しても、IP転送は常に有効になります。