• 締切済み

ehterからシリアル

Etherから来たパケットを、 シリアルインターフェースから出力、 別PCで受け取りたいのですが、 linuxでどのようにプログラミングすれば よいのでしょうか?

みんなの回答

noname#4147
noname#4147
回答No.1

構成が詳しく分からないので、的確かどうか分かりませんが... とりあえず、redhat7.1等のiptablesが利用できるケースで、シリアルインターフェースがppp0、ethernetがeth0とします。 (ifconfigでインターフェース名を確認してください。) ntsysvで、ipchainsにチェックがある場合、これをはずし、iptablesにチェックを入れ再起動します。 で、コンソールで、 iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination <送り先IPアドレス> として下さい。 ポートを指定したい場合、 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport <ポート番号> -j DNAT --to-destination <送り先IPアドレス>:<ポート番号> 複数指定することもできます。(先に登録したものから優先的に適用されます) 他の条件で、転送するかしないかを区別したければ、 http://www.linux.or.jp/JM/html/iptables/man8/iptables.8.html を参考にしてみてください。 その場合、モジュールを読み込んだり、kernelの再構築が必要な場合もあります。 また、設定後、 /etc/rc.d/init.d/iptables save とやると、起動時に自動で設定を読み込んでくれます。 (パスはご自分の環境に合わせてください) ipchainsを使用したい場合は、ipmasqadm等が必要になるので、多少面倒です。 http://www.linux.or.jp/JF/ に解説があったと思います。

関連するQ&A