「Shorewall」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:Shorewallへの転送ページ)
 
1行目: 1行目:
  +
[[Category:ファイアウォール]]
#redirect[[en:Shorewall]]
 
  +
[[en:Shorewall]]
  +
[http://www.shorewall.net/ Shoreline Firewall] (通称 "Shorewall") は Netfilter を設定するための高準位ツールです。
  +
  +
一連の設定ファイルでエントリを使用してファイアウォールやゲートウェイの要件を定義すると、Shorewall は設定ファイルを読み込んで iptables のユーティリティを利用し、要件に沿うように Netfilter を設定します。
  +
  +
Shorewall は専用のファイアウォールシステム、複数の機能を併せ持ったゲートウェイ/ルーター/サーバー、あるいはスタンドアロンの GNU/Linux システムで使うことができます。Shorewall は Netfilter の ipchains 互換モードを使わないので、Netfilter の接続状態トラッキング機能を利用することが可能です。
  +
  +
== インストール ==
  +
{{Pkg|shorewall}} パッケージを[[インストール]]してください。
  +
  +
== 設定 ==
  +
以下の設定は Shorewall ウェブサイトの [http://www.shorewall.net/two-interface.htm two-interface ドキュメント] を元にしています。
  +
  +
shorewall パッケージに付属しているサンプル設定ファイルを利用します:
  +
  +
# cp /usr/share/doc/shorewall/Samples/one-interface/* /etc/shorewall/ # If you have a desktop-type system with a single network interface
  +
# cp /usr/share/doc/shorewall6/Samples6/one-interface/* /etc/shorewall6/ # If you have a desktop-type system with a single network interface, pkg shorewall6
  +
# cp /usr/share/doc/shorewall/Samples/two-interfaces/* /etc/shorewall/ # If you have a router with two network interfaces
  +
# cp /usr/share/doc/shorewall/Samples/three-interfaces/* /etc/shorewall/ # If you have a router with three network interfaces
  +
  +
===/etc/shorewall/interfaces===
  +
  +
使用しているイーサネットデバイスの名前に合うようにインターフェイスの設定を変更して、ローカルネットワークで DHCP 通信を許可します。{{ic|/etc/shorewall/interfaces}} を編集:
  +
  +
ビフォー:
  +
net eth0 dhcp,tcpflags,nosmurfs,routefilter,logmartians
  +
loc eth1 tcpflags,nosmurfs,routefilter,logmartians
  +
  +
アフター:
  +
net wan dhcp,tcpflags,nosmurfs,routefilter,logmartians
  +
loc lan dhcp,tcpflags,nosmurfs,routefilter,logmartians
  +
  +
===/etc/shorewall/policy===
  +
  +
ポリシーファイルを編集してルーター (Shorewall を設定するマシン) からインターネットへのアクセスを許可します。{{ic|/etc/shorewall/policy}} を編集:
  +
  +
ビフォー:
  +
{{bc|
  +
###############################################################################
  +
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
  +
  +
loc net ACCEPT
  +
net all DROP info
  +
# THE FOLLOWING POLICY MUST BE LAST
  +
all all REJECT info
  +
}}
  +
  +
アフター:
  +
{{bc|
  +
###############################################################################
  +
#SOURCE DEST POLICY LOG LEVEL LIMIT:BURST
  +
$FW net ACCEPT
  +
loc net ACCEPT
  +
net all DROP info
  +
# THE FOLLOWING POLICY MUST BE LAST
  +
all all REJECT info
  +
}}
  +
  +
===/etc/shorewall/rules===
  +
  +
DNS ルックアップは dnsmasq で処理 (実際は転送) するので、Shorewall で通信を許可する必要があります。{{ic|/etc/shorewall/rules}} に以下の行を追加:
  +
  +
{{bc|
  +
# Accept DNS connections from the local network to the firewall
  +
#
  +
DNS(ACCEPT) loc $FW
  +
}}
  +
  +
===/etc/shorewall/masq===
  +
  +
ネットワークインターフェイスを外部 (WAN) ネットワークに接続しているインターフェイスに変更して、IP もローカルネットワークで使っている IP に変える:
  +
  +
eth0 192.168.1.0/24
  +
  +
==== SSH ====
  +
任意: インターネット上のコンピュータから SSH でルーターに接続できるようにしたい場合、以下の行を追加:
  +
  +
{{bc|
  +
# Accept SSH connections from the internet for administration
  +
#
  +
SSH(ACCEPT) net $FW TCP <SSH port used>
  +
}}
  +
  +
====ポートフォワーディング (DNAT)====
  +
* {{ic|/etc/shorewall/rules}}: LAN 上の IP 10.0.0.85 にウェブサーバーがある場合の例です。"外部" IP のポート 5000 からアクセスすることができます:
  +
DNAT net loc:10.0.0.85:80 tcp 5000
  +
  +
===/etc/shorewall/shorewall.conf===
  +
  +
上記の変更を完了したら、設定ファイル {{ic|/etc/shorewall/shorewall.conf}} で以下を変更することで Shorewall を有効化:
  +
  +
ビフォー:
  +
STARTUP_ENABLED=No
  +
  +
アフター:
  +
STARTUP_ENABLED=Yes
  +
  +
詳しくは [http://shorewall.net/manpages/shorewall.conf.html man ページ] を参照。
  +
  +
== 起動 ==
  +
{{ic|shorewall.service}} を[[起動]]・[[有効化]]してください。

2016年1月6日 (水) 02:40時点における版

Shoreline Firewall (通称 "Shorewall") は Netfilter を設定するための高準位ツールです。

一連の設定ファイルでエントリを使用してファイアウォールやゲートウェイの要件を定義すると、Shorewall は設定ファイルを読み込んで iptables のユーティリティを利用し、要件に沿うように Netfilter を設定します。

Shorewall は専用のファイアウォールシステム、複数の機能を併せ持ったゲートウェイ/ルーター/サーバー、あるいはスタンドアロンの GNU/Linux システムで使うことができます。Shorewall は Netfilter の ipchains 互換モードを使わないので、Netfilter の接続状態トラッキング機能を利用することが可能です。

インストール

shorewall パッケージをインストールしてください。

設定

以下の設定は Shorewall ウェブサイトの two-interface ドキュメント を元にしています。

shorewall パッケージに付属しているサンプル設定ファイルを利用します:

# cp /usr/share/doc/shorewall/Samples/one-interface/* /etc/shorewall/     # If you have a desktop-type system with a single network interface
# cp /usr/share/doc/shorewall6/Samples6/one-interface/* /etc/shorewall6/  # If you have a desktop-type system with a single network interface, pkg shorewall6
# cp /usr/share/doc/shorewall/Samples/two-interfaces/* /etc/shorewall/    # If you have a router with two network interfaces
# cp /usr/share/doc/shorewall/Samples/three-interfaces/* /etc/shorewall/  # If you have a router with three network interfaces

/etc/shorewall/interfaces

使用しているイーサネットデバイスの名前に合うようにインターフェイスの設定を変更して、ローカルネットワークで DHCP 通信を許可します。/etc/shorewall/interfaces を編集:

ビフォー:

net     eth0          dhcp,tcpflags,nosmurfs,routefilter,logmartians
loc     eth1          tcpflags,nosmurfs,routefilter,logmartians

アフター:

net     wan          dhcp,tcpflags,nosmurfs,routefilter,logmartians
loc     lan          dhcp,tcpflags,nosmurfs,routefilter,logmartians

/etc/shorewall/policy

ポリシーファイルを編集してルーター (Shorewall を設定するマシン) からインターネットへのアクセスを許可します。/etc/shorewall/policy を編集:

ビフォー:

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

loc             net             ACCEPT
net             all             DROP            info
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info

アフター:

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST
$FW             net             ACCEPT
loc             net             ACCEPT
net             all             DROP            info
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info

/etc/shorewall/rules

DNS ルックアップは dnsmasq で処理 (実際は転送) するので、Shorewall で通信を許可する必要があります。/etc/shorewall/rules に以下の行を追加:

#       Accept DNS connections from the local network to the firewall
#
DNS(ACCEPT)     loc              $FW

/etc/shorewall/masq

ネットワークインターフェイスを外部 (WAN) ネットワークに接続しているインターフェイスに変更して、IP もローカルネットワークで使っている IP に変える:

eth0        192.168.1.0/24

SSH

任意: インターネット上のコンピュータから SSH でルーターに接続できるようにしたい場合、以下の行を追加:

#       Accept SSH connections from the internet for administration
#
SSH(ACCEPT)     net             $FW         TCP      <SSH port used>

ポートフォワーディング (DNAT)

  • /etc/shorewall/rules: LAN 上の IP 10.0.0.85 にウェブサーバーがある場合の例です。"外部" IP のポート 5000 からアクセスすることができます:
DNAT        net        loc:10.0.0.85:80        tcp        5000

/etc/shorewall/shorewall.conf

上記の変更を完了したら、設定ファイル /etc/shorewall/shorewall.conf で以下を変更することで Shorewall を有効化:

ビフォー:

STARTUP_ENABLED=No

アフター:

STARTUP_ENABLED=Yes

詳しくは man ページ を参照。

起動

shorewall.service起動有効化してください。