サーバー関連
iptablesで外部への接続を内部への接続に変換する(開発環境用)
ヤス
更新日:2021/08/10
iptablesは何でもできすぎて、設定を変更する時は怖いです。
開発環境では、外部への接続(本番環境への接続)をして欲しくない
開発環境と本番環境の設定は可能な限り同じ設定にしていますが、DBサーバーやメールサーバー等のサーバーを外部に別途構築している場合、開発環境から外部の運用中のサーバーに接続されると困るため、設定を変更する必要があります。
開発環境では接続設定ファイルを変更し、本番環境への移行前に変更し直す運用では変更漏れの可能性があるため、開発環境のiptablesを設定し、外部への接続設定を内部への設定に変換する処理を作成しました。(接続設定ファイルの変更不要)
(開発環境に別途DBサーバーやメールサーバー等の機能を追加する必要があります。)
1 2 |
iptables -t nat -A OUTPUT -p tcp -d 外部接続先ドメインまたはIPアドレス --dport 外部接続先ポート番号 -j DNAT --to-destination 127.0.0.1:内部ポート番号 iptables -t nat -A POSTROUTING -p tcp --dst 127.0.0.1 --dport 内部ポート番号 -j SNAT --to-source 127.0.0.1 |
あとがき
iptablesで制限することで、変更漏れ等の人的ミスがなくなるため開発環境では設定した方がいいと思います。