
iptablesのチェイン、ルールを記述したシェルスクリプトファイルを作成し、
実行させ、iptablesに設定しています。
===スクリプト(test.sh)抜粋ここから===
#!/bin/bash
mail_smtp='eo.smtpaut.co.jp'
printer='192.168.11.11'
#maiil_smtpを利用したルール
iptables -A OUTPUT -p tcp -o eth0 -d $mail_smtp --dport 587 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#プリンター変数を利用したルール
iptables -A FORWARD -s 10.0.0.0 -d $printer_ip -j ACCEPT
===スクリプト抜粋ここまで===
これを、sh test.sh で実行すると下記エラーが出ます。
「iptables v1.4.7: host/network `eo.smtpaut.co.jp' not found」(smtp変数の方)
※printer変数の方では何も出ていません。
コンソールから普通に、ping eo.smtpaut.co.jp で実行した際には名前解決ができるので、
シェルスクリプト実行時に、eo.smtpaut.co.jp の名前解決ができていないのだと思うのですが、
どのようにコードを書いたらいいかわかりません。(printer変数はIP直書きなので問題が出ない?)
考えている方法としては、
(1)eo.smtpaut.co.jp のIPを調べる
(2)(1)の結果のIPを「mail_smtp変数」に入れる。
(3)ルールで使用する?
(4)解決?
みたいなことを考えています。
ルールに、IP直書きするとプロバイダ変更等の際に、
まず、変数でサーバ名を宣言して、その変数をルールに使いたいのです。
ご教授お願いします。
No.2ベストアンサー
- 回答日時:
>(1)eo.smtpaut.co.jp のIPを調べる
>(2)(1)の結果のIPを「mail_smtp変数」に入れる。
動的に変化するIPアドレスには対応できませんが……
hostコマンドやdigコマンドなどで正引きした結果を取得すればよいかと。
# 正引きした結果、複数のIPアドレスが返される場合は、個別にルールとして適用する必要があるでしょうけど。
まぁ、スクリプト実行時に正引きが出来ない。という状況ではどう対処したものか…ということになりかねませんが……。
# Redhat系で…iptablesの起動とnetwork(NetworkManager)の起動と、どっちが先でしたかねぇ……。
# rc.localとかに記述する。とか……。
>動的に変化するIPアドレスには対応できませんが……
hostコマンドやdigコマンドなどで正引きした結果を取得すればよいかと
これも考えたんですが、そうなるとPerlとかで加工する必要がありますよね。
でも、やっぱりそれしかないのかなぁ。って気もしてきました。
># rc.localとかに記述する。とか……。
ありがとうございます、参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- UNIX・Linux iptablesを設定するとメール送信処理が遅くなる!? 6 2022/06/07 01:11
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- PHP ここで言う「アロー演算子」の役割を教えてください。 1 2022/03/26 02:38
- サーバー 接続・ログインはできているのにメールが送信できない 2 2022/06/27 15:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
ROBOCOPY cmdで正常に処理され...
-
SPI非言語の問題 解説お願いします
-
信頼済みサイト登録をbatファイ...
-
Linux のシェルスクリプトの強...
-
python IDLEで訂正、削除のやり...
-
emacsでCtrl+zを押してサスペン...
-
pingは正常なのにtracerouteで...
-
solaris10のrloginやtelnetによ...
-
シャットダウンバッチがうまく...
-
Apacheで SSLを設定する場合のA...
-
英語版での表示
-
起ち上げる時にチェックディス...
-
ユーザー名とパスワードが保存...
-
iptablesでの変数使用について
-
マイドキュメントのファイル一...
-
USBブートの件です。何年か前に...
-
Solarisで
-
ログオンスクリプトについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SONYの音楽ソフト「x-アプリ」...
-
エクセルの表にヘンな枠が・・・
-
pingは正常なのにtracerouteで...
-
Linux のシェルスクリプトの強...
-
シャットダウンバッチがうまく...
-
windows10のごみ箱をrd /s /q C...
-
SPI非言語の問題 解説お願いします
-
バッチファイル内の各コマンド...
-
信頼済みサイト登録をbatファイ...
-
最初の一度しか実行されないロ...
-
python IDLEで訂正、削除のやり...
-
emacsでCtrl+zを押してサスペン...
-
時間のマクロで最初はその時間...
-
Openイベントを開始させないで...
-
後先ってやっぱり考えて行動し...
-
sudoで実行したコマンドの実行...
-
ROBOCOPY cmdで正常に処理され...
-
ACCESSレポートをPDFに出力したい
-
PowerShellのスクリプト実行に...
-
LD_LIBRARY_PATHって?
おすすめ情報