○ xen-firewallの設定

*ドメイン0の最小限のセキュリティを確保しています
*iptables-1.4.9.1を使用しています
*適当なディレクトリで実行します
*tcp_wrappersなど他の制御システムを併用します

**以降はコメントです
*完全コピーしないこと (エラーが出ることあり)
*エディタ、ファイラーの操作は省略します

○参照ファイル

XENの設定
iptablesのインストール 4 Xen

○xen-firewall (root root 644)

*"#" で始まる行はコメントとして解釈され、"$" の付いた文字は変数を表します
*スクリプトの先頭で, 処理を行うシェルを明示します (#!/bin/bash)
*設定を間違えれば、通信不能になったり、不要なポートを開けることになります
*netfilter.org のドキュメントなどに目を通してください
*iptablesマニュアルも読みましょう

#!/bin/bash

## iptablesコマンドを絶対パスで変数に設定します

IPTABLES='/usr/local/sbin/iptables'

## 一時的にフォワーディング設定を無効にします

echo 0 > /proc/sys/net/ipv4/ip_forward

## 既存のルールをフラッシュ (解除) します

$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -Z

## 基本ポリシーの設定

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT

## ドメイン0のアクセス許可

# 新しいチェーンをつくります

$IPTABLES -N Xen-INPUT
$IPTABLES -A INPUT -j Xen-INPUT

# ドメイン0内の接続は全て許可します

$IPTABLES -A Xen-INPUT -i lo -j ACCEPT

# pingパケットを許可します

$IPTABLES -A Xen-INPUT -p icmp --icmp-type any -j ACCEPT

# 確実なパケットの接続 (ドメイン0内からの接続への応答) を許可します

$IPTABLES -A Xen-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# sshサーバとdropbearからの新しい接続を許可します

$IPTABLES -A Xen-INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT
$IPTABLES -A Xen-INPUT -m state --state NEW -p tcp --dport 922 -j ACCEPT

# その他のパケットを拒否します

$IPTABLES -A Xen-INPUT -j REJECT --reject-with icmp-host-prohibited

## ドメインUのアクセス許可

# 新しいチェーンをつくります

$IPTABLES -N Xen-FORWARD
$IPTABLES -A FORWARD -j Xen-FORWARD

# xenのデバイスの入出力を許可します

$IPTABLES -A Xen-FORWARD -m state --state NEW -m physdev --physdev-in peth0 -j ACCEPT

# その他のパケットを拒否します

$IPTABLES -A Xen-FORWARD -j REJECT --reject-with icmp-host-prohibited

## パケットフォワーディングを有効にします

echo 1 > /proc/sys/net/ipv4/ip_forward

○ Copyright(c) 528p.com All Rights Reserved.