• 締切済み

eth0:1 eth0:2 等をPHPで切り替えたいのです!

現在の環境は、centos でのサーバ環境にて、 ネットワークをeth0を通常に設定し、 eth0:1 eth0:2 ・ ・ 上記の用に「/etc/syconfig/network-config/ifcfg-eth0:1」をきっちり設定して、pingもきっちり帰ってくるようになりました。 この状況から、phpで、eth0:1・eth0:2と、ネットワークを切り替えたいのですが、どなたか知ってる方がいらっしゃったら教えて下さい。 お願いします。

みんなの回答

回答No.1

PHPからLinuxの設定をするには、基本的にはroot権限でしか設定出来ない物をPHPヘ権限委譲させる必要があります。 権限の委譲の方法も1つではありません。例えばあなたがシェルスクリプトも組めるなら、シェルスクリプトを作って、それをPHPから呼び出せるようにすれば良いでしょう。シェルスクリプトを呼び出すにはプログラム実行関数を使います。 http://jp2.php.net/manual/ja/ref.exec.php 設定ファイルを直接PHPから編集すると言う方法もあります。設定ファイルの権限をPHP(ユーザ名はapacheかnobodyかhttpdあたり、CentOSは使った事が無いので分かりません)で編集出来るようにします。fopen等のファイルシステム関数で編集すれば良いでしょう。編集後、有効にするにはネットワークの再起動をする必要があります。これはやはりPHPに権限がないでしょうから、PHPから起動出来るシェルスクリプトを作るか、sudoでPHPに権限を与える必要があります。sudoersを編集するにはvisudoやsudoeditがありますが、CentOSについてはちょっと知りません。 sudoで検索してみて下さい。 # webminじゃ駄目?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • デフォルトゲートウェイの設定場所

    CentOS5.9を使用しています。 /etc/sysconfig/network と cat /etc/sysconfig/network-scripts/ifcfg-eth0 「GATEWAY」項目があり、同じデフォルトゲートウェイのIPが設定されていることに気づきました。 ただ、別のCentOSサーバを見てみた所 ・/etc/sysconfig/network-scripts/ifcfg-eth0(eth1やeth2の複数ささってるサーバでも) のeth設定ファイルだけに、「GATEWAY」の設定があるが、networkにはない。 ・/etc/sysconfig/network の方にだけにあり、eth関係のファイルにはない。  とサーバで環境がバラバラなことに気づきました。 (同じCentバージョンでも違ってるものがありました。) 特に、インストール時にIPを設定したぐらいで 設定変更等行っていません。 この「/etc/sysconfig/network-scripts/ifcfg-eth0」と「/etc/sysconfig/network」に 設定するGATEWAYなのですが、 ・どちらのファイルに設定してても良いものなのか? ・ifcfg-eth0 の方にあれば良いものなのか? ・network の方にあれば良いものなのか? がわかりません。(特に全サーバ問題なく動いているのですが・・・。) また、全サーバ複数NICがささっていても、アップリンク(インターネット等)への接続は全てeth0になっております。eth0の先のルータで、ルーティングしております。 ご教授お願いします。

  • VMwarePlayer上のCentOSのeth

    旧称VMwarePlayer(現:VMware Wokrstation)でCentOSを VMware Playerのインストールウィザードで標準タイプの構成でセットアップしました。 そのあと、特にNW関連の設定をしていないにも関わらずip routeを叩くと デフォルトでeth2しか表示されませんでした。 にも関わらずネットワークインターフェースの設定ファイル名は ifcfg-eth2ではなくifcfg-eth0となっていました。 そこでLinuxやVMware Playerに詳しい方にお聞きしたいのですが CentOSのデフォルトのethの番号は0になるとは限らないようですが、 この番号はどういうルールで決められるのでしょうか? また、これはCentOS側の仕様でしょうか?それともVMware Player側の仕様 でしょうか? あとeth2しかないのに設定ファイルに「ifcfg-eth2」がないのはなぜでしょうか? (ファイル名が「ifcfg-eth0」でエラー起きないのでしょうか?)   

  • ネットワークの設定は、ifcfg-eth0だけで十分か?

    ネットワークの設定について質問がございます。 あるサーバがあります。 そのサーバはOSがLinuxです。製品用なので、どのディストリビューションかまではわかりません。 ネットワークの見直しにともない、設定の変更が必要となりました。今は、/etc/sysconfig/network-scripts/ifcfg-eth0 を変更しました。変更点は、IPアドレスと、ネットマスクとゲートウエイです。 □他のファイルも変更する必要がありますでしょうか?それとも、ifcfg-eth0だけ変更すれば十分でしょうか? どなたか御存じのかたがいらっしゃいましたらご教授下さい。

  • VineLinu3.1でethの設定

    LANボードを2枚挿してから、ethの認識がおかしくなりました。 VinLinuxの起動ログの画面では eth0   [ok] と表示されます。eth1は出ません。 起動後にGNOMEのメニューから「ネットワークの設定」を開くと、eth0だけがあります。 eth0のチェックボックスはoffです。 /etc/sysconfig/network-scripts/ifcfg-eth0 は有り、その内容でDEVICEの値もeth0です。 /etc/sysconfig/network-scripts/ifcfg-eth0 は無いです。 /etc/modprobe.confではeth0が、そのLANボードの名前と関連付けてあります。 lsmodを実行しても、LANケーブルを挿してない方のLANボード名は無いです。 ここまで揚げた資料では、eth1については未定義のようです。 VinLinuxが起動後に、GNOME端末で # ifconfig eth0 up 不明なインターフェースです。そのようなでばいすはありません。 となります。 ところが、 # ifconfig eth1 up 不明なインターフェースです。そのようなでばいすはありません。 となりますが、この時ガリっと音がします。 ここで # ifconfig eth0 up すると、表示してた「ネットワークの設定」のチェックボックスがONになり、サーバ公開ができるようになります。 eth0とeth1が変な関連情報を持ってしまっているようです。 どのへんをいじったら直りそうですか?

  • eth0にPingが通らない

    初めて投稿させて頂きます。 tatty4444です。 下記内容で非常に作業が進まずに困っています。 どなたかご存知の方、ご教授の方をお願い致します。 内容としては、DB用に別サーバーを立てたのですが、 OSと各アプリケーション導入後にクライアントから「Ping」にて導通確認を行おうとしたらPingが通らない現象が発生しました。 状況その(1) クライアントからサーバーへ この場合、全て「Request Timeout」となってしまいます。 状況その(2) サーバーからクライアントへ この場合、全て「Destination Host Unreachable」となってしまいます。 ifconfigにて情報をみたら下記のようになっていました。 eth0 Link encap:Ethernet HWaddr 00:D0:B7:4A:01:C7 inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) eth1 Link encap:Ethernet HWaddr 00:90:FE:03:0D:16 inet6 addr:fe80::290:feff:fe03:d16/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:50 dropped:0 overruns:0 carrier:0 collisions:850 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:12568 (12.2 KiB) Interrupt:185 Base address:0xccc0 また各ethの設定状況を確認したら以下のようになっていました。 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255 HWADDR=00:D0:B7:4A:01:C7 IPADDR=192.168.1.13 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:90:fe:03:0d:16 上記の内容で、「UP BROADCAST MULTICAST」の部分が「UP BROADCAST RUNNING MULTICAST」にならないといけないと思うのですが、どのように設定していいのか分かりません。 どなたか解決策のお分かりになる方! ご教授をお願い致します。 【システム構成】  ・CentOS 5(テキストモードにてインストール)  ・Apache2.0.55  ・PHP5.1.2  ・Postgresql8.1.3  ・MySQL5.0.18

  • CentOSにて、eth0でPingが通らない。。

    初めて投稿させて頂きます。 tatty4444です。 下記内容で非常に作業が進まずに困っています。 どなたかご存知の方、ご教授の方をお願い致します。 内容としては、DB用に別サーバーを立てたのですが、 OSと各アプリケーション導入後にクライアントから「Ping」にて導通確認を行おうとしたらPingが通らない現象が発生しました。 状況その(1) クライアントからサーバーへ この場合、全て「Request Timeout」となってしまいます。 状況その(2) サーバーからクライアントへ この場合、全て「Destination Host Unreachable」となってしまいます。 ifconfigにて情報をみたら下記のようになっていました。 eth0 Link encap:Ethernet HWaddr 00:D0:B7:4A:01:C7 inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) eth1 Link encap:Ethernet HWaddr 00:90:FE:03:0D:16 inet6 addr:fe80::290:feff:fe03:d16/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:50 dropped:0 overruns:0 carrier:0 collisions:850 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:12568 (12.2 KiB) Interrupt:185 Base address:0xccc0 また各ethの設定状況を確認したら以下のようになっていました。 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static BROADCAST=192.168.1.255 HWADDR=00:D0:B7:4A:01:C7 IPADDR=192.168.1.13 NETMASK=255.255.255.0 NETWORK=192.168.1.0 ONBOOT=yes vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=dhcp HWADDR=00:90:fe:03:0d:16 上記の内容で、「UP BROADCAST MULTICAST」の部分が「UP BROADCAST RUNNING MULTICAST」にならないといけないと思うのですが、どのように設定していいのか分かりません。 どなたか解決策のお分かりになる方! ご教授をお願い致します。 【システム構成】  ・CentOS 5(テキストモードにてインストール)  ・Apache2.0.55  ・PHP5.1.2  ・Postgresql8.1.3  ・MySQL5.0.18

  • CentOSのネットークデバイスをeth0とeth1を入れ替える方法

    CentOS4.5のサーバーにネットワークカードを2枚挿しているのですが、このネットワークカードのID?の/dev/etc0と/dev/etc1を入れ替えたいのですが、どのようにすればいいのでしょうか? /etc/modprobe.conf で設定出来ると思い中身を開いた所、下記のようにetc0しか定義されていませんでした。 --------------- etc0 e1000 (その他のデバイス) --------------- 但しXのネットワークツール>ハードウェアブラウザのネットワークデバイスで確認すると、 ------------ ドライバ:tg3 デバイス:/dev/eth0 ------------ ドライバ:e1000 デバイス:/dev/eth1 ------------ それとe1000はmodprobe.confではeth0に割り当てられていますが、ハードウェアブラウザではeth1に割り当てられています。 とりあえずmodprobe.confを編集し、下記のように変更し再起動しましたが、ハードウェアブラウザで確認すると入れ替わっておりませんでした。 --------------- etc0 e1000 etc1 tg3 (その他のデバイス) --------------- 多分modprobe.confの方は有効になっていないように思いますが、入れ替えるにはどこを修正すればよいのでしょうか?

  • Linuxでのpingでsendmsgだけのエラー

    TurboLinux8 Serverにて、2枚のNICを刺しサーバーを作成しています。 NICはWAN側とLAN側向けになっていて、それぞれのNICにpingを打つとWAN側はきちんと応答が帰りますが、LAN側のNICにpingを打っても下記のようになって応答が帰りません。 ping 192.168.0.101 ping : sendmsg ping : sendmsg ping : sendmsg ping : sendmsg : : これは、sendmsg以外何も出ていないのでどんなエラーなのか見当もつきません。 下記の定義を確認しましたが他にも確認する個所があれば教えてください。 ifconfigにて確認済み /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

  • CentOS がネットワークにつながらない

    CentOS がネットワークにつながらない WindowsXP に VirtualBox 3.1.4 をインストールし、 その上に CentOS 5.0 をのせました。 ネットワーク設定は以下の通りです。 /etc/sysconfig/network-scripts/ifcfg-eth0 の内容 DEVICE=eth0 BOOTPROTO=none BROADCAST=10.100.31.255 HWADDR=******* IPADDR=10.100.20.151 NETMASK=255.255.240.0 NETWORK=10.100.16.0 GATEWAY=10.100.16.1 ONBOOT=yes TYPE=Ethernet -- /etc/resolv.conf の内容 nameserver 10.100.17.100 -- /etc/sysconfig/network の内容 NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=hoge GATEWAY=10.100.16.1 ping -c 2 localhost はきちんと送れますが ping 同じセグメント内の別のマシン宛 や ping google.com は通りません。 dig と nslookup も試しましたが、 「no server could be reached」とどこにもつながりませんでした。 もちろん yum update もできません。 設定の間違いやDNS側が故障していないかなども確認しました。 同じセグメント内で別に CentOS 5.0 がのったマシンが動いていますが そちらは問題なくネットワークに接続できています。 どなたか親切なかた教えてください。よろしくお願いします。

  • CentOS 5.2 でプライベートIPアドレスを固定すると外部サイトにアクセスできなくなる

    CentOS 5.2 で、/etc/sysconfig/network-scripts/ifcfg-eth0 を -------- BOOTPROTO static IPADDR 192.168.0.4 -------- のようにすると、LAN外のホストにアクセスできなくなりました。 ping yahoo.co.jp などとすると、 ping: unknown host yahoo.co.jp のように言われてしまいます。 ping 192.168.0.1 だと、応答が返ってきましたので、LAN内では相互アクセスできるようです。 /etc/sysconfig/network-scripts/ifcfg-eth0 を -------- BOOTPROTO dhcp # IPADDR 192.168.0.4 -------- のように元に戻すと、外部のホスト(ウェブサイトとか)にも正常にアクセスできるように直りました。 プライベートIPアドレスを固定すると外部サイトにアクセスできなくなるということのようなのですが、これを回避するにはどうすればいいのでしょうか?? 該当のパソコンはサーバーとして外部に公開したいと考えているので、ローカルIPが再起動の度に変わってしまうとWANからアクセスできなくなるのではないかと思うのですが、何か解決方法があるのでしょうか?? どなたかご教示いただけると幸いです。