この記事は投稿日から3年以上経過しています。
当記事では、Linuxにて特定のアウトバウンド通信を許可するための設定例について記載します。
前提条件
- 当記事ではhttpサービスのポートをTCP/80の前提で記載しています。
- 当記事の手順はすべて管理者権限にて実施しています。
- 当記事の記載内容は下記環境にて実施したものです。
- 当記事内のアウトバウンド通信制御設定はあくまで一例です。
OS | CentOS7.8 |
firewalld | 0.6.3 |
事前設定
- 事前に下記のコマンドにてアウトバウンド通信制御を実施します。
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 1 -p icmp --icmp-type 0 -j ACCEPT success # cat /proc/sys/net/ipv4/ip_local_port_range 32768 60999 # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 2 -p tcp --dport 32768:60999 -j ACCEPT success # firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 65000 -p tcp -j REJECT success # firewall-cmd --reload success # iptables -nvL --line-numbers ~省略~ Chain OUTPUT_direct (1 references) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0 2 2997 8558K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:32768:60999 3 84 5040 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
外部のhttpサービスにアクセスする場合
- ダイレクトルールにて設定します。Chain OUTPUT_directに下記コマンドで宛先TCP/80番宛通信の許可設定を投入します。
# firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 3 -p tcp --dport 80 -j ACCEPT success # firewall-cmd --reload success # iptables -nvL --line-numbers ~省略~ Chain OUTPUT_direct (1 references) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0 2 1156 145K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:32768:60999 3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 4 38026 2281K REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
- 追加したルールの削除方法は下記コマンドにて実施します。
# firewall-cmd --permanent --direct --remove-rule ipv4 filter OUTPUT 3 -p tcp --dport 80 -j ACCEPT success # iptables -nvL --line-numbers ~省略~ Chain OUTPUT_direct (1 references) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmptype 0 2 2997 8558K ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:32768:60999 3 84 5040 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
以上でLinuxにて特定のアウトバウンド通信を許可するための設定例についての説明は終了となります。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。