- Home
- Node-REDとプロトコルの統合
- Node-RED 例: 特定のIPからのアクセスを制限するためのiptablesルールの設定
Node-RED 例: 特定のIPからのアクセスを制限するためのiptablesルールの設定
説明
このNode-REDの例は、Milesightゲートウェイのiptablesルールを永続的に設定するソリューションを提供します。このフローを使用してiptablesルールをカスタマイズし、特定のIPアドレスがゲートウェイにアクセスすることを許可または制限できます。
要件
- Milesightゲートウェイ: UG56/UG65/UG67
設定
ステップ1: Node-REDを起動しフロー例をインポート
- 1. 「App」>「Node-RED」ページに移動しNode-REDプログラムを有効化。プログラム読み込み完了後、「Launch」ボタンをクリックしてNode-REDウェブGUIを起動。
- 2. Node-REDウェブGUIにログイン。アカウント情報はゲートウェイウェブGUIと同一。
- 3. 「Import」をクリックし、コンテンツを貼り付けるかjson形式ファイルをインポートしてNode-REDフロー例をインポートします。
ステップ2: Node-RED設定
フロー構造:
Content:
| [{“id”:”9612326a66b7bb48″,”type”:”tab”,”label”:”IPtables”,”disabled”:false,”info”:””,”env”:[]},{“id”:”8a89410a2e10ad84″,”type”:”exec”,”z”:”9612326a66b7bb48″,”command”:”echo -e \”iptables -I INPUT -p TCP –dport 80 -j DROP\\niptables -I INPUT -p TCP –dport 443 -j DROP\\niptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 443 -j ACCEPT\\niptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 80 -j ACCEPT\” > /etc/urlog/iptb.sh”,”addpay”:””,”append”:””,”useSpawn”:”false”,”timer”:””,”winHide”:false,”oldrc”:false,”name”:””,”x”:940,”y”:460,”wires”:[[],[],[“aaf6e1157cb41476”]]},{“id”:”aaf6e1157cb41476″,”type”:”debug”,”z”:”9612326a66b7bb48″,”name”:”debug 1″,”active”:true,”tosidebar”:true,”console”:false,”tostatus”:false,”complete”:”payload”,”targetType”:”msg”,”statusVal”:””,”statusType”:”auto”,”x”:920,”y”:580,”wires”:[]},{“id”:”88e01970ea6f93a1″,”type”:”inject”,”z”:”9612326a66b7bb48″,”name”:””,”props”:[{“p”:”payload”},{“p”:”topic”,”vt”:”str”}],”repeat”:””,”crontab”:””,”once”:true,”onceDelay”:”0″,”topic”:””,”payload”:””,”payloadType”:”date”,”x”:300,”y”:580,”wires”:[[“8a89410a2e10ad84″,”b43b0223b27b67b7”]]},{“id”:”34cb5bddb03e3d91″,”type”:”inject”,”z”:”9612326a66b7bb48″,”name”:””,”props”:[{“p”:”payload”},{“p”:”topic”,”vt”:”str”}],”repeat”:””,”crontab”:””,”once”:true,”onceDelay”:0.1,”topic”:””,”payload”:””,”payloadType”:”date”,”x”:290,”y”:680,”wires”:[[“acb9456c8dac52de”]]},{“id”:”acb9456c8dac52de”,”type”:”exec”,”z”:”9612326a66b7bb48″,”command”:”su – root -c /etc/urlog/iptb.sh”,”addpay”:””,”append”:””,”useSpawn”:”false”,”timer”:””,”winHide”:false,”oldrc”:false,”name”:””,”x”:560,”y”:740,”wires”:[[“9a627cb3446a8d52”],[],[]]},{“id”:”9a627cb3446a8d52″,”type”:”debug”,”z”:”9612326a66b7bb48″,”name”:”debug 2″,”active”:true,”tosidebar”:true,”console”:false,”tostatus”:false,”complete”:”false”,”statusVal”:””,”statusType”:”auto”,”x”:920,”y”:720,”wires”:[]},{“id”:”b43b0223b27b67b7″,”type”:”exec”,”z”:”9612326a66b7bb48″,”command”:”chmod +x /etc/urlog/iptb.sh”,”addpay”:””,”append”:””,”useSpawn”:”false”,”timer”:””,”winHide”:false,”oldrc”:false,”name”:””,”x”:600,”y”:580,”wires”:[[],[],[]]}] |
Exec Node1 :
cmd内のiptablesルールを変更。
echo -e “iptables -I INPUT -p TCP –dport 80 -j DROP\niptables -I INPUT -p TCP –dport 443 -j DROP\niptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 443 -j ACCEPT\niptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 80 -j ACCEPT” > /etc/urlog/iptb.sh
このechoコマンドはiptablesルールを/etc/urlog/iptb.shに出力するためのもので、ファイル内のルールは以下のような形式になります。
iptables -I INPUT -p TCP –dport 80 -j DROP
iptables -I INPUT -p TCP –dport 443 -j DROP
iptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 443 -j ACCEPT
iptables -I INPUT -s 10.66.66.0/24 -p TCP –dport 80 -j ACCEPT
これらはINPUTチェーンに順序通り挿入され、最後のルールが最初に適用されます。これらのルールは、10.66.66.0/24がゲートウェイの443/80ポートにアクセスすることを許可し、他のIPアドレスを無効化することを意味します。
Exec node2:
このノードはiptb.shに実行権限を与えるためのものです。
Exec node3:
このノードはiptablesルールを挿入するファイルを実行します。
タイムスタンプノード:
全てのタイムスタンプノードはゲートウェイ起動後に実行されるよう設定されています。iptablesルールはシステム再起動後に消失するため、再起動後に再挿入します。
ステップ3: デプロイと結果確認
- 1. 「Deploy」をクリックし、全てのNode-RED設定を保存します。
- 2. ゲートウェイを再起動し、設定が有効になったか確認します。
- 3. これらのルールを無効化したい場合は、このフローを削除しゲートウェイを再起動してください。
——-以上—–
関連記事
Node-REDとプロトコルの統合
Node-RED 例: センサーデータを Google スプレッドシートに送信するGoogleスプレッドシートにデータを送信するソリューションを提供します
Node-RED 例: Milesight LoRaWAN コントローラ経由で Modbus INT64 タイプ レジスタ値を読み取るMilesight LoRaWANコントローラーを介してModbus INT64型レジスタを読み取るソリューションを提供します
Node-Redでデコーダーを使用する方法MilesightのLoRaWANゲートウェイはノードレッド機能をサポートしており、関連ソリューションのシミュレーションやセットアップを簡単に行うことができます
Gateway に組み込まれた Node-Red を使用して SMS アラームをトリガーする方法Milesight UG6X/UG56ゲートウェイはビルドインNode-Redをサポートしています。このNode-Redの例では、Node-Redを使用してSMSアラームをトリガーするソリューションを提供し、EM300の温度が26℃を超えた場合にSMSアラームをトリガーする例を取り上げます。
Milesightゲートウェイ経由でLoRaWANデバイスをBACnet BMSシステムに統合する方法MilesightゲートウェイはBACnetサーバーとして動作し、LoRaWANデバイスとBMSシステムまたはBACnetデバイス間の通信を設定することができます。
MilesightゲートウェイによるLoRaWAN to Modbus機能の実現方法Milesightゲートウェイは、Modbus RTU over TCPまたはModbus TCPプロトコルを介して、LoRaWANデバイスとModbusクライアント(マスター)間の通信をセットアップするModbusサーバー(スレーブ)として動作し、LoRaWANデバイスをBMSやPLCシステムに迅速かつ簡単に統合することができます。
MilesightゲートウェイでAzureのダウンリンク制御を実現する方法Azure IoT Hub からダウンリンクコマンドを送信し、Node-red 経由でダウンリンクデータを変換することで、デバイスを遠隔操作する方法について、とりあえずの解決策を説明します。
Node-Red の例: VS121&WS202 – WS50xスイッチリンク制御VS121またはWS202を使用して、WS50Xを点灯/消灯させるNode-REDの例を示します。
Node-Red の例: バックネットサーバーの有効化/無効化Node-RED経由でバックネットサーバー機能を有効または無効にするためのソリューションを提供します。
Node-Red ユーザー名とパスワードの変更方法ゲートウェイ WEB GUI と異なる Node-red のログインパスワードを必要とし、Node-red を通じて Node-red のログイン認証情報を直接変更できるアプリケーションに適用されます。
Node-Redの読み取り専用ユーザーを追加する方法Node-Red に読み取り専用のユーザーを追加する方法を説明します。読み取り専用のユーザーは、Node-Red にのみアクセスできますが、フローの変更やフローの展開は許可されていません。
Node-Redを使用してシェルコマンドを実行する方法node-red でシェルコマンドを実行する方法について説明します。
BACnetシステムからMilesightゲートウェイ経由でダウンリンクを送信する方法Milesightゲートウェイは、BMSシステムやBACnet機器からのコマンドをエンコードし、LoRaWAN機器にコマンドを送信することで、遠隔制御を実現します。
Milesight ゲートウェイの Node Red でダッシュボードを使用する方法Milesight ゲートウェイの Node Red ダッシュボードを使用して、センサーのデータを表示する方法について説明します。
Milesight ゲートウェイに追加の Node-RED ノードをインストールする方法ゲートウェイに Node-RED ノードを追加インストールする方法について説明します。
Milesightゲートウェイ経由でLoRaWANセンサーをBACnet BMSシステムに統合する方法Milesight ゲートウェイは、LoRaWAN センサーのデータをデコードし、センサーデータを BMS システムまたは BACnet デバイスで使用される BACnet オブジェクトにマッピングできます。これにより、LoRaWAN デバイスをビル管理システムに迅速かつ容易に統合できます。
Gatewayに組み込まれたNode-Redを使用してDOを制御する方法ゲートウェイに組み込まれた Node-Red 機能を使用して UC501 のデジタル出力ステータスを変更し、EM500-SMT が検出した土壌の湿度に応じて灌漑装置が動作するようにします。

















