出産前後の痔にはご注意!

CentOS6.3のiptablesにて

192.168.1.0/24(eth1)→192.168.13.254(eth0)
192.168.2.0/24(eth2)→192.168.13.254(eth0)

と、二つのLANをeth0に向けてNAPTするよう設定しています。
ただ実際、LANからeth0へのアドレスが変換されているかの情報を知りたいと思っております。
そこで以下設定を記述してみました。

・iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 LOG --log-prefix "1_MASQ_LOG : " --log-level=debug -j MASQUERADE
・iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 LOG --log-prefix "2_MASQ_LOG : " -j MASQUERADE

実行しようとすると、LOG部分がエラーになり実施できません。
どのように、設定すれば変換ログ情報を取得できるでしょうか?
ご教授お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

LOG じゃなくて、 -j LOG では?


そうすると、-j MASQUERADE と競合するので、1つユーザ定義ターゲットをかまさないといけないかな。

テストしてませんが、こんな感じで。
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j FOO1
iptables -t nat -A FOO1 -j LOG --log-prefix "1_MASQ_LOG : " --log-level=debug
iptables -t nat -A FOO1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j FOO2
iptables -t nat -A FOO2 -j LOG --log-prefix "2_MASQ_LOG : "
iptables -t nat -A FOO2 -j MASQUERADE

この回答への補足

早速試してみました。

iptables -N F001 #ユーザ定義チェイン
iptables -N F002 #ユーザ定義チェイン

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j F001
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.2.0/24 -j F002

#FOOチェイン
iptables -t nat -A F001 -j LOG --log-prefix "1_MASQ_LOG : " --log-level=debug
iptables -t nat -A F001 -j MASQUERADE

iptables -t nat -A F002 -j LOG --log-prefix "2_MASQ_LOG : " --log-level=debug
iptables -t nat -A F002 -j MASQUERADE


という内容で記述し、チェインも作成し実行してみましたが

iptables v1.4.7: Couldn't load target `F001':/lib64/xtables/libipt_F001.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.7: Couldn't load target `F002':/lib64/xtables/libipt_F002.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.
iptables: No chain/target/match by that name.


というエラーを吐いてしまいました。

補足日時:2013/01/27 20:26
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qapt-get install ****** でinstallしたものをuninstallするには?

御世話になります。
vncserverだけをinstallするつもりが
誤って
apt-get install vncとうってしまいました。
これをuninstallしたいのですが
どのようにすればよろしいでしょうか?

教えて下さい。

Aベストアンサー

# apt-get remove パッケージ名
では、設定ファイルは削除されずに残ります。

完全に削除するときは、
# apt-get --purge remove パッケージ名
です。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

Q起動しているサービスを確認するコマンド

初歩的な質問で恐縮ですが、ご教示いただけますと幸いです。

起動しているサービスを確認するために以下の2つのコマンドを打ってみるのですが、結果(出て来るサービス名)が違います。
このコマンドの違いについてご教示いただけますでしょうか。

(1)service --status-all
(2)chkconfig --list

Aベストアンサー

(1)service --status-all

サービスの現在のステータスを調べるコマンド

(2)chkconfig --list

OSのブート時に自動起動するサービスを調べるコマンド

違いが出るのは、
・ブート後に手動あるいは他のコマンドから起動したサービス
・ブート後に手動あるいは他のコマンドから、あるいはエラーで停止したサービス
・ブート後に実行はされるがすぐに停止して常駐しないサービス (ntpdate とか)

あるいは、(1)ではサービス名が表示されない物もあるので、どのサービスがどんなステータス出力をするのか知っておく必要もありますね。(service network statusとか)

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。

QVMWare仮想ソケット数とソケットあたりのコア数

VMWareバージョン5.0から仮想OSに割り当てるCPUの設定で仮想ソケット数とソケットあたりのコア数というのがあり、それぞれを掛けた値が仮想OS毎のコア合計数となる様です。
以下の内容について教えていただけませんでしょうか。

(1)ソケット数とコア数がどのようなものなのかというのが解っていません。
どのように算出された計算値からこれを設定すればいいのか教えていただけますでしょうか。

(2)コア合計数を2としたい場合仮想ソケット数を2にし、ソケットあたりのコア数を1にする
 のでしょうか?それとも逆に仮想ソケット数を1にし、ソケットあたりのコア数を2にすれば
 良いでしょうか?

宜しくお願い致します。

Aベストアンサー

ちょっとかじった程度の技術者です。
専門家ではないので参考程度に。

(1)コアはCPUの中にあり、実際に計算をする部分になります。
複数のコアを持っているCPUは同時に複数の処理をする事ができます。

コア数はCPUによって決まっていて、1つのCPUに2つとか4つとか複数のコアが
搭載されている場合があります。(例:デュアルコア=2個、クアッドコア=4個)

ソケットとはCPUを搭載する部分の事で、1つのソケットに1つのCPUが載ります。

という事で、例えば「クアッドコアのCPUを2個搭載」した場合、
・コア数=4
・ソケット数=2
となり、仮想OSに割り当てられる仮想CPUは「4×2=8個」となります。

(2)仮想ソケット数については「どの様な挙動をさせたいか」「OSの制限」
などによって異なると思います。

デュアルコアCPUが1個搭載されているような挙動を期待しているなら
仮想ソケット数を1に、コア数を2に。
シングルコアのCPUが2個搭載されている様な挙動を期待しているなら
仮想ソケット数を2に、コア数を1に。

OSの制限についてですが、OSによってはソケット数が決まっているケースがあります。
WindowsXPの場合はCPUが2個までしか載せられなかったと思います。
その時は仮想ソケット数は「2」までしか設定できない事になり、仮想CPUを4つに
設定したい時は仮想ソケット数を2に、コア数を2に設定する事になります。

という事でこの場合は「環境と希望による」という回答になると思います。

ちょっとかじった程度の技術者です。
専門家ではないので参考程度に。

(1)コアはCPUの中にあり、実際に計算をする部分になります。
複数のコアを持っているCPUは同時に複数の処理をする事ができます。

コア数はCPUによって決まっていて、1つのCPUに2つとか4つとか複数のコアが
搭載されている場合があります。(例:デュアルコア=2個、クアッドコア=4個)

ソケットとはCPUを搭載する部分の事で、1つのソケットに1つのCPUが載ります。

という事で、例えば「クアッドコアのCPUを2個搭載」した場合、
・コア数...続きを読む

QNTP の TCPポートは?

NTPは123/UDPでようは足りると思うのですが、
WELL KNOWN PORTとかいろいろな資料に「123/TCP」ポートが割当たってます。
ntpd,ntpdate等でNTPを使う場合、実際には123/TCPは使われているのでしょうか?

Aベストアンサー

RFC1305では「ntpには123/udpを割り当てる」となっていますが、RFC1700では「123 ntp」となっており、「123/udp」と明示されているわけではありません。
よって、「123/tcp ntp」が間違っている(または使えない)という明確な根拠にはなりません。

「現状では『123/tcp ntp』を実装するための定義が存在しない」程度に考えた方が良いと思います。

ただ、将来的にRFC2030のSNTPが(IPv6対応などの点で)主流になる可能性があるので、「123/tcp ntp」は定義されない可能性もあります。

QIP-VPNとインターネットVPNの違い

就職活動をしている大学生です。
セキュリティとネットワークに興味があり、そこから自分が何をやりたいのか突き詰めて行った結果VPNを提供している企業が浮かび上がって来ました、業界研究をしている際に疑問が出てきました。

IP-VPNとインターネットVPNの違いの違いがいまいちわかりません。

インターネットVPNはインターネット上を介したVPN、IPは事業者のネットワーク内のVPNって解釈でよいのですかね??

そうなるとプライベート回線を引くのとIP-VPNの違いは???

提供している事業者の違い、VPNに関すること、VPNの今後&求められるもの等、教えてください。

よろしくお願いします。

Aベストアンサー

こんちは。hirasakuです。

簡単に言うと
インターネットVPNはその名の通り、インターネット網を利用した拠点間をあたかもLANのように使うためのWAN構築です。
基本的にVPN接続するためのルータの設定(トンネリングや暗号化・認証など)はユーザーが設定し、運用管理もユーザーが行います。
インターネット網なので通信に対する保障がありませんので、VPNに通すデータを検討しなければならない場合もあります。
一番安価に構築できランニングコストが抑えられます。

IP-VPNは通信事業者の閉域IPネットワーク網を通信経路として用い、自社専用ネットワークであるかのようなWANを構築できるサービスのことです。
通信事業者側で用意している網は品質を保証してあり、ユーザー側はIP-VPN網に接続するだけで、セキュアな通信ができ、インターネットVPN同様LANのように使えます。

プライベート回線とは専用線やフレームリレー網などのことを言っているのですかね?
専用線は料金が距離に比例し、拠点間の距離が離れるほどコストが大きくなり、セルリレー/フレームリレーは、フルメッシュ型接続ですけど、柔軟なネットワーク構築が難しいという問題があります。専用線・フレームリレーなどは回線帯域の割にはコストが高いので、インターネットVPNやIP-VPNでコストを安くしてネットワークを構築するようになってきてます。

インターネットVPNやIP-VPNはプロトコルにIPを使わなくてはならないので、データはIPに乗せる必要があります。
そこで、広域イーサネットというサービスを各通信事業者が行っています。広域イーサネットはプロトコルをIP以外(IPXやSNAなど)を通すことができ、またイーサなので、WAN側に接続するのに極端な話、スイッチでつなげられますので、今までのようにルータの設定などいらなくなります。(VLAN構成にするならスイッチの設定が必要ですけけど)また、QoSなどデータの優先制御や帯域制御などもできますので、VoIPなどにも使えますね。
ということで、簡単に拠点間のLAN構築が可能になります。

提供しているサービスの違いは、どこも似たり寄ったりかなって思いますけど。
サービス提供エリアや、構築にあったオプションサービスなどで選べばいいのでは。

こんちは。hirasakuです。

簡単に言うと
インターネットVPNはその名の通り、インターネット網を利用した拠点間をあたかもLANのように使うためのWAN構築です。
基本的にVPN接続するためのルータの設定(トンネリングや暗号化・認証など)はユーザーが設定し、運用管理もユーザーが行います。
インターネット網なので通信に対する保障がありませんので、VPNに通すデータを検討しなければならない場合もあります。
一番安価に構築できランニングコストが抑えられます。

IP-VPNは通信事業者の閉域IPネットワ...続きを読む

QNTPで同期が始まらない

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntpq -pの結果は下記となります。

remote refid st t when poll reach delay offset jitter
==============================================================================
133.100.9.2 .INIT. 16 u - 64 0 0.000 0.000 4000.00
130.69.251.23 .GPS. 1 u 27 64 377 8.015 -99970. 17262.6

同期ができれば「remote」列に「*」が表示されると思っています。
何か設定が足りないでしょうか?。
尚、「/vat/log/message」をtailしてますが特にエラーは無さそうです。

よろしくお願いします。

こんにちは。
度々すみません、NTPの設定をしましたがどうも同期が始まりません。

「ntpdate 130.69.251.23」と手動同期は成功します。
しかしntpデーモンを起動し1時間以上放置しても同期されません。
※外部タイムサーバー参照としてます

ntp.confは下記のとおりです。
---------------------------------------------------
server 133.100.9.2 # clock.nc.fukuoka-u.ac.jp
server 130.69.251.23
driftfile /var/lib/ntp/drift
---------------------------------------------------

でntp...続きを読む

Aベストアンサー

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハードウエアclockを合わせます。
http://www.linux.or.jp/JM/html/util-linux/man8/hwclock.8.html

○ntpdの動作
ntpによる時刻調整は、調整幅が通常128mSと小さいので、1時間は様子をましょう。
2時間程度経過しても、時刻修正の兆候が見られない場合ハードウェアの不良も考えられます。

時刻調整の兆候としては、
・logファイルに 一時間毎に調整したメッセージが書かれる。
Jan 7 21:57:40 ntpd[91145]: offset 0.000994 sec freq -190.802 ppm error 0.000076 poll 8
・ntpq -p の出力の最初の桁に"*,+"が付く。また、reach が377になる。
% ntpq -np
remote refid st t when poll reach delay offset jitter
+192.168.0.102 GPS_NMEA(0) 2 u 3 32 377 0.926 -0.330 0.023
*192.168.0.192 GPS_NMEA(1) 2 u 10 32 377 0.747 -0.336 0.023
192.168.0.9 PPS(1) 2 u 3 32 377 0.757 6.559 0.161


○その他
・PC起動時には、システムクロックを計測してその後の動作の基準にしていますが、
CMOSバッテリ不足やハードウェアに何らかの異常があるととんでもない時刻を示すことがあります。(要修理です)
・BIOSの時計も起動時の初期時刻として使われてしまうので、ある程度合わせておいた方がいいです。

#4のqaaqです。

○ntp.conf 関連
server 行に "iburst" を付けておきましょう。
server ntp.nict.jp iburst <--こんな感じになります。

ntp サーバ起動時の時刻調整の収束時間が早くなります。
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=ntp.conf&dir=jpman-5.4.0%2Fman&sect=0

○ntpdate での時刻調整
ntpdate -b -u [サーバ名] を複数回実行して、"offset の値が0.1以下"になるまで、強制的に時刻調整して下さい。

○ハードウエアclockの修正
hwclock -w コマンドでハ...続きを読む

Qシェルスクリプトでファイル内の数値文字列を数値として扱うには

失礼します。
シェルスクリプトでファイル内のテキスト(数値文字列)を取得して、それを使って計算するにはどうすれば良いでしょうか?

str:ファイル内のテキスト(数値文字列)

res=$(( $str + 1 ))

・エラー
")syntax error: invalid arithmetic operator (error token is "


よろしくお願いします。

Aベストアンサー

bashをご使用と判断して

res=$(( $str + 1 ))
ではなく、
res=$(( str + 1 ))
だと思います。

> exprもやってみたのですが、処理が遅くなるので使いません。
興味があって以下のシェルで検証してみました。

#!/bin/bash

str=1
i=0

echo 'Using $((str + 1))'
date '+%H:%M:%S.%N'

while [ $i -lt 10000 ]
do
str=$(( str + 1))
i=`expr $i + 1`
done

date '+%H:%M:%S.%N'

exit

$ ./test.sh
Using $((str + 1))
09:18:46.290418000
09:18:56.929345000
これをexprに書き換えたところ
$ ./test2.sh
Using expr
09:19:00.302748000
09:19:19.259990000

exprだと19秒ですが、$(( 演算 )) だと10秒程度なので、演算が多くなれば確かにexprは不利ですね。

bashをご使用と判断して

res=$(( $str + 1 ))
ではなく、
res=$(( str + 1 ))
だと思います。

> exprもやってみたのですが、処理が遅くなるので使いません。
興味があって以下のシェルで検証してみました。

#!/bin/bash

str=1
i=0

echo 'Using $((str + 1))'
date '+%H:%M:%S.%N'

while [ $i -lt 10000 ]
do
str=$(( str + 1))
i=`expr $i + 1`
done

date '+%H:%M:%S.%N'

exit

$ ./test.sh
Using $((str + 1))
09:18:46.290418000
09:18:56.929345000
これをe...続きを読む

QiptablesにてRDPが通らない。

図のような環境を作成しております。
PC1からPC2へのリモートデスクトップが通りません。

iptablesルールは、
・CentOS(ホスト名:top) INPUT、OUTPUT、FORWARD全てDROP。
・CentOS(ホスト名:down) INPUT、OUTPUT、FORWARD全てACCEPT。

CentOS(ホスト名top)のiptablesログを見ると
・Feb 10 19:35:16 top kernel: IPTABLES_OUTPUT_DROP : IN= OUT=eth2 SRC=172.30.1.254 DST=172.30.1.11 LEN=87 TOS=0x00 PREC=0xC0 TTL=64 ID=42946 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=172.30.1.253 [SRC=172.30.1.11 DST=172.30.2.2 LEN=59 TOS=0x00 PREC=0x00 TTL=127 ID=4519 DF PROTO=TCP SPT=58238 DPT=3389 WINDOW=64240 RES=0x00 ACK PSH URGP=0 ]

・Feb 10 19:35:16 top kernel: IPTABLES_FORWARD_DROP : IN=eth2 OUT=eth2 SRC=172.30.1.11 DST=172.30.2.2 LEN=59 TOS=0x00 PREC=0x00 TTL=127 ID=4519 DF PROTO=TCP SPT=58238 DPT=3389 WINDOW=64240 RES=0x00 ACK PSH URGP=0

と出力されていました。

そこで、topに

・iptables -A FORWARD -p tcp -s 172.30.1.11 -d 172.30.2.0/24 --dport 3389 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
・iptables -A FORWARD -p tcp -s 172.30.2.0/24 -d 172.30.1.11 --sport 3389 -m state --state ESTABLISHED,RELATED -j ACCEPT

二行ルールを追加してみたのですが、
通信が通りません。

理由が分からず困っております。
ご教授お願いします。

図のような環境を作成しております。
PC1からPC2へのリモートデスクトップが通りません。

iptablesルールは、
・CentOS(ホスト名:top) INPUT、OUTPUT、FORWARD全てDROP。
・CentOS(ホスト名:down) INPUT、OUTPUT、FORWARD全てACCEPT。

CentOS(ホスト名top)のiptablesログを見ると
・Feb 10 19:35:16 top kernel: IPTABLES_OUTPUT_DROP : IN= OUT=eth2 SRC=172.30.1.254 DST=172.30.1.11 LEN=87 TOS=0x00 PREC=0xC0 TTL=64 ID=42946 PROTO=ICMP TYPE=5 CODE=1 GATEWAY=172.30.1.253 [SRC=172.30.1.11 DST=172.3...続きを読む

Aベストアンサー

そういう事では無いです。

iptablesがLinuxのカーネルへ要求を出す時に
インターフェースの指定が無いと、カーネルが認識している
1番最初のインターフェースと見做して応答する と言う事です。

*なので、eth0を利用していない場合はeth1となる。

もう少し違う言い方をすると、インターフェースの指定が無いから
デフォルト(eth0)が指定されたものとして動作している と言う事です。

eth0 eth1 eth2 eth3 と合った場合、iptablesでインターフェースの指定をしないと
どの向きからどの向きへの通信かは不明です。
そのため、デフォルトが利用される と言う事かと思います。


人気Q&Aランキング

おすすめ情報