「Shorewall」の版間の差分
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 ウェブサイトの 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 ページ を参照。