「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 ページ を参照。