質問: ### 前提・実現したいこと RaspberryPi3をWiFiルーター化して、ルーターに接続している端末のアクセス先を制御する仕組みを作っています。 具体的には、iptables v1.6.0を使用しています。 実現したいこととしては、アクセス先の制御をIPアドレスではなくホスト名で指定したいと考えております。 ※アクセス先がAWSのコンポーネントでIPアドレスが固定されていないため。 iptablesでIPアドレスではなくホスト名を指定してアクセス先を制御することはできないのでしょうか。 ### 実行コマンド ``` $ sudo iptables -t nat -A PREROUTING -m recent -i wlan0 -p tcp --dport 80 -j DNAT --to-destination www.google.com --name webauth ! --rcheck --second 3600 ``` ### 発生している問題・エラーメッセージ ``` iptables v1.6.0: Bad IP address "www.google.com" Try `iptables -h' or 'iptables --help' for more information. ``` ### 試したこと 上記実行コマンドのホスト名をIPアドレスで指定するとエラーは起きず成功します
回答: 出来ないと思います。またそのホスト名をどうやって得たかにも依存します。ホスト名で deny 指定したとしても、そのホストが名称を変えてしまえばまたアクセスされる事になります。 やるのであれば 1. IPアドレスからそのアドレスを保有している持ち主を調べる 2. 持ち主の保有するIPのレンジを調べる 3. IPのレンジを iptables -src-range で指定する 持ち主を調べるのであれば APNIC が便利です。 https://www.apnic.net/ ただしこの場合、アクセス元が例えば AWS を使っているのであれば AWS 全体からアクセス出来なくなりますのでご注意を。 ※この場合、レンジでなく対象のIPのみをブロックします