いくつかの便利なDebian設定

構成ファイルの一部を公開しています。正確には-構成の空白です。これにより、構成ファイルを忘れたり、紛失したりせず、誰かを助けることができます。 これらの設定はすべて、debian squeeze(現在テスト中)用に準備されていますが、継続性により、ubuntuで動作するはずです。

これらの構成ファイルは次のとおりです。

Debianのメインで信頼性の高いリポジトリの設定(yandexリポジトリは設定で提供されます)

Wi-Fiアドホックネットワークを整理するための既製のソリューションを含むネットワーク構成ファイル(アテロームベースのWifi、madwifiにはいくつかの機能があります)

追加のバックアップサーバーを含む、DNSサーバーを使用するための構成。

2枚のネットワークインターフェイスカードで動作するように適合されたdhcpサーバーの構成

このスクリプトを使用すると、他のデーモンと同様にiptablesを実行できます(iptables構成自体が欠落しています)。





1. APT

PS:/ etc / apt / preferencesの上記の設定は、たとえば複数の異なるリポジトリを同時に使用する場合にのみ役立ちます。たとえば、unstabeと一緒に安定させると、このソリューションはエラーの可能性を減らします。

/ etc / apt /設定



#パッケージ:*

#ピン:リリースa =スクイーズ

#ピン優先:600

#パッケージ:*

#Pin:リリースa = squeeze-backports

#ピン優先:500

パッケージ:*

ピン:リリースa =テスト

ピンの優先順位:450

パッケージ:*

ピン:リリースa =不安定

ピンの優先順位:400

パッケージ:*

ピン:リリースa =実験的

ピンの優先順位:350



最も近いものとして、ヤンデックスミラーに焦点を当てた主なリポジトリを以下に示します。

/etc/apt/sources.list

#Yandexミラー[HTTP]



#メインDebianミラー

#deb mirror.yandex.ru/debian lenny main contrib non-free

deb mirror.yandex.ru/debian squeeze main contrib non-free

#deb mirror.yandex.ru/debian不安定なメインcontrib non-free

#deb mirror.yandex.ru/debian実験的メインcontrib non-free

#Debianの主要なミラー[ソース]

#deb-src mirror.yandex.ru/debian lenny main contrib non-free

deb-src mirror.yandex.ru/debian squeeze main contrib non-free

#deb-src mirror.yandex.ru/debian不安定なメインcontrib non-free

#deb-src mirror.yandex.ru/debian実験的メインcontrib non-free



#セキュリティ修正

#deb mirror.yandex.ru/debian-security lenny /メインcontrib non-freeを更新

deb mirror.yandex.ru/debian-security squeeze /メインcontrib non-freeを更新

#セキュリティ修正[ソース]

#deb-src mirror.yandex.ru/debian-security lenny / main contrib non-freeを更新

deb-src mirror.yandex.ru/debian-security squeeze /メインcontrib non-freeを更新



#揮発性

#deb mirror.yandex.ru/debian-volatile lenny / volatile main contrib non-free

#deb mirror.yandex.ru/debian-volatile lenny / volatile-sloppy main contrib non-free

#揮発性[ソース]

#deb-src mirror.yandex.ru/debian-volatile lenny / volatile main contrib non-free

#deb-src mirror.yandex.ru/debian-volatile lenny / volatile-sloppy main contrib non-free



#バックポート

#deb mirror.yandex.ru/backports.org lenny-backports main contrib non-free

#バックポート[ソース]

#deb-src mirror.yandex.ru/backports.org lenny-backports main contrib non-free



#Debian-multimedia

#deb mirror.yandex.ru/debian-multimedia lenny main

deb mirror.yandex.ru/debian-multimedia squeeze main

#deb mirror.yandex.ru/debian-multimedia不安定なメイン

#deb mirror.yandex.ru/debian-multimedia Experimental main

#Debian-multimedia [ソース]

#deb-src mirror.yandex.ru/debian-multimedia lenny main

deb-src mirror.yandex.ru/debian-multimedia squeeze main

#deb-src mirror.yandex.ru/debian-multimedia不安定なメイン

#deb-src mirror.yandex.ru/debian-multimedia Experimental main



#オペラ

#deb mirror.yandex.ru/debian-opera lenny non-free

#deb deb.opera.com/opera squeeze non-free

#deb deb.opera.com/opera unstable non-free

#deb mirror.yandex.ru/debian-opera sid non-free



#Virtualbox

#deb download.virtualbox.org/virtualbox/debian lenny non-free



ネットワーク設定

2.ネットワーク

/etc/resolv.conf



#ローカルDNSサーバー

#nameserver localhost



#homenet dnsサーバー

ネームサーバー*。*。*。*

ネームサーバー*。*。*。*



#centertelecom dnsサーバー

ネームサーバー213.140.228.218

ネームサーバー213.140.231.3



#Google DNSサーバー

ネームサーバー8.8.8.8

ネームサーバー8.8.4.4



#opendns dnsサーバー

ネームサーバー208.67.222.222

ネームサーバー208.67.220.220



/ etc /ネットワーク/インターフェイス

#ループバックネットワークインターフェイス

オートロー

iface lo inetループバック

アドレス127.0.0.1

ネットマスク255.0.0.0



#プライマリネットワークインターフェイス

allow-hotplug eth0

allow-hotplug eth1



#外部カード

自動eth1

#iface eth1 inet dhcp

iface eth1 inet static

アドレス*。*。*。*

ネットワーク*。*。*。*

ネットマスク*。*。*。*

ブロードキャスト*。*。*。255

ゲートウェイ*。*。*。*



#イントラネットカード

自動eth0

#iface eth0 inet dhcp

iface eth0 inet static

アドレス192.168.20.1

ネットワーク192.168.20.0

ネットマスク255.255.255.0

ブロードキャスト192.168.20.255

#gateway 192.168.10.2



#WiFiカード:

#WiFiカードアドホックモード

自動wlan0

iface wlan0 inet static

アドレス192.168.40.1

ネットワーク192.168.40.0

ネットマスク255.255.255.0

ブロードキャスト192.168.40.255

ワイヤレスモードアドホック

ワイヤレスチャネル7

ワイヤレスレート54M

#ワイヤレスレート自動

アドホック無線

#gateway 192.168.40.2



/etc/dhcp3/dhcpd.conf

#2つのサブネットを持つ2つのインターフェイスの構成

ddns-update-style none;

#ドメイン名、DNSサーバー、クライアントへのIPアドレスのリース時間、デフォルトでは1週間、最大10日間。

オプションdomain-name "my dns server";

オプションドメイン名サーバー213.140.228.218、213.140.231.3;

デフォルトのリース時間604800;

max-lease-time 864001;



#サーバー操作ログ

log-facility local7;



#クライアントに発行するためのアドレスサブネット、DNSドメイン名、ブロードキャストアドレス、および発行済みアドレスの範囲。



サブネット192.168.20.0ネットマスク255.255.255.0 {

範囲192.168.20.10 192.168.20.20;

オプションドメイン名サーバー213.140.228.218、213.140.231.3;

#option domain-name-servers 192.168.20.1;

オプションdomain-name "my dns server";

オプションルーター192.168.20.1;

オプションサブネットマスク255.255.255.0;

option broadcast-address 192.168.20.255;

オプションntp-servers 192.168.20.1;

オプションnetbios-name-servers 192.168.20.1; #WINS

オプションnetbios-dd-server 192.168.20.1; #SMB

デフォルトのリース時間604800;

max-lease-time 864001;

ファイル名 "pxelinux.0";

}



サブネット192.168.40.0ネットマスク255.255.255.0 {

範囲192.168.40.10 192.168.40.30;

オプションドメイン名サーバー213.140.228.218、213.140.231.3;

#option domain-name-servers 192.168.40.1;

オプションdomain-name "my dns server";

オプションルーター192.168.40.1;

オプションサブネットマスク255.255.255.0;

option broadcast-address 192.168.40.255;

デフォルトのリース時間604800;

max-lease-time 864001;

}



/etc/init.d/iptablesd

#!/ bin / bash

#サービスとしてのiptables:



###開始情報の開始

#提供:iptablesd

#必須開始:$ remote_fs $ syslog

#必須:$ remote_fs $ syslog

#デフォルト開始:2 3 4 5

#デフォルト停止:0 1 6

#簡単な説明:initscriptの例

#説明:このファイルは、スクリプトを構築するために使用する必要があります

#/etc/init.dに配置されます。

###終了情報の終了



IPTABLES = / sbin / iptables

TC = / sbin / tc



#起動コマンドの説明

ケース「$ 1」

開始)

sh / etc / iptables / iptables_start

;;

#停止コマンドの説明

停止)

sh / etc / iptables / iptables_stop

;;

#再起動コマンドの説明

再起動)

0ストップ

$ 0スタート

;;

#ステータスコマンドの説明

ステータス)

#iptables -t nat -n -L -v

#iptables -L -v

iptables -L -n -v

echo "[qdisc IN]"

$ TC -s ​​qdisc show dev eth1

echo "[class IN]"

$ TC -sクラスshow dev eth1

echo "[filter IN]"

$ TC -s ​​filter show dev eth1

;;

#機能リクエストチームの説明

*)

echo "使用法:$ 0 {start | stop | restart | status}"

;;

エサック

出口0



/ etc / iptables / iptables_start

このファイルには、iptablesを設定する開始スクリプトが含まれている必要があります。まだ設定しているので、私はまだ自分自身を提供していません。 既成のソリューションはインターネット上に豊富にあり、このファイルに追加するだけです。



PS:iptablesに関するすべてのファイルは、chmod + xに設定する必要があります。

chmod + x /etc/init.d/iptablesd

chmod + x / etc / iptables / iptables_start

chmod + x / etc / iptables / iptables_stop



PPS:このメモに興味のある人がいたので、保護ルールとNATを含むiptablesの簡易バージョンを追加することにしました



#!/ bin / bash

#sdm 06 2010によってコンパイルされた#Firewallスクリプト



#------------------------------------------------- ------------------------------

#ユーティリティの決定:



IPTABLES = / sbin / iptables

DEPMOD = / sbin / depmod

MODPROBE = / sbin / modprobe

IP = / sbin / ip

IFCONFIG = / sbin / ifconfig



GREP = / bin / grep

AWK = / usr / bin / awk

SED = / bin / sed

ECHO = / bin / echo



#------------------------------------------------- ------------------------------

#インターフェースの決定:



#外部カード

EXTIF = "eth1"

#EXTIP = "192.168.10.7"

#EXTBC = "255.255.255.0"

EXTIP = "` $ IFCONFIG $ EXTIF | $ GREP addr:| $ SEDの/.* addr:\([^] * \)。* / \ 1 / '' "

EXTBC = "` $ IFCONFIG $ EXTIF | $ GREP Bcast:| $ SEDの/.* Bcast:\([^] * \)。* / \ 1 / '' "

EXTMSK = "` $ IFCONFIG $ EXTIF | $ GREPマスク:| $ SEDの/.*マスク:\([^] * \)/ \ 1 / '' "

EXTNET = "$ EXTIP / $ EXTMSK"



#イントラネットカード

INTIF = "eth0"

#INTIP = "192.168.20.1"

#INTBC = "255.255.255.0"

INTIP = "` $ IFCONFIG $ INTIF | $ GREP addr:| $ SEDの/.* addr:\([^] * \)。* / \ 1 / '' "

INTBC = "` $ IFCONFIG $ INTIF | $ GREP Bcast:| $ SEDの/.* Bcast:\([^] * \)。* / \ 1 / '' "

INTMSK = "` $ IFCONFIG $ INTIF | $ GREPマスク:| $ SEDの/.*マスク:\([^] * \)/ \ 1 / '' "

INTNET = "$ INTIP / $ INTMSK"



#WiFiカード

WIFIIF = "wlan0"

#WIFIIP = "192.168.40.1"

#WIFIBC = "255.255.255.0"

WIFIIP = "` $ IFCONFIG $ WIFIIF | $ GREP addr:| $ SEDの/.* addr:\([^] * \)。* / \ 1 / '' "

WIFIBC = "` $ IFCONFIG $ WIFIIF | $ GREP Bcast:| $ SEDの/.* Bcast:\([^] * \)。* / \ 1 / '' "

WIFIMSK = "` $ IFCONFIG $ WIFIIF | $ GREPマスク:| $ SEDの/.*マスク:\([^] * \)/ \ 1 / '' "

WIFINET = "$ WIFIIP / $ WIFIMSK"



#ループデバイス/ localhost

LPDIF = "lo"

LPDIP = "127.0.0.1"

LPDBC = "127.0.0.255"

LPDMSK = "255.0.0.0"

LPDNET = "$ LPDIP / $ LPDMSK"



echo "外部インターフェイス:$ EXTIF $ EXTNET"

echo "内部インターフェイス:$ INTIF $ INTNET"

echo "ワイヤレスインターフェイス:$ WIFIIF $ WIFINET"

echo "ループデバイス/ localhost:$ LPDIF $ LPDNET"



#------------------------------------------------- ------------------------------

#以前の設定をリセット:



#echo -en "\ n既存のルールをクリアし、デフォルトポリシーを設定する.."

#ルールを削除

$ IPTABLES -F

$ IPTABLES -t nat -F

$ IPTABLES -tマングル-F



#カスタムルールをクリア

$ IPTABLES -X

$ IPTABLES -t nat -X

$ IPTABLES -tマングル-X



#------------------------------------------------- ------------------------------

#デフォルトポリシーの定義:



#すべての着信接続を拒否

$ IPTABLES -P入力ドロップ

#すべての発信接続を許可

$ IPTABLES -P出力受け入れ

#すべての通過(NAT)接続を許可

$ IPTABLES -P FORWARD ACCEPT



#確立されたセッションのすべてのパッケージを許可

$ IPTABLES -A入力-m conntrack --ctstate確立、関連-j ACCEPT

$ IPTABLES -A出力-m conntrack --ctstate確立、関連-j ACCEPT

$ IPTABLES -A FORWARD -m conntrack --ctstate ESTABLISHED、RELATED -j ACCEPT



#識別できないため、特定のステータスを持つことができないすべてのパケットを破棄します

$ IPTABLES -I INPUT -m conntrack --ctstate INVALID -j DROP

$ IPTABLES -I FORWARD -m conntrack --ctstate INVALID



#非SYNパケットで着信TCP接続を開こうとする試みをすべてブロックします。

$ IPTABLES -I INPUT -m conntrack --ctstate NEW -p tcp! --syn -j DROP



#ループバックインターフェイスを通過するトラフィックを許可します。

$ IPTABLES -A入力-i lo -j ACCEPT

$ IPTABLES -A出力-o lo -j ACCEPT



#インターフェイスがloでない場合、そのアドレスのリストの入力を禁止します。

$ IPTABLES -A INPUT -s 127.0.0.1/255.0.0.0! -i lo -j DROP



#------------------------------------------------- ------------------------------

#カーネルにIP転送を含める:



echo "ファイアウォール:転送を有効にします.."

エコー「1」> / proc / sys / net / ipv4 / ip_forward

echo "ファイアウォール:DynamicAddrの有効化.."

echo "1"> / proc / sys / net / ipv4 / ip_dynaddr



#マスカレードをオンにしてインターネットアクセスを許可する

echo "ファイアウォール:$ EXTIFでSNAT(MASQUERADE)機能を有効にする"

$ IPTABLES -t nat -Aポストルーティング-o $ EXTIF -j MASQUERADE



#------------------------------------------------- ------------------------------

#権限のインストール



#着信ICMPパケットからPINGを許可します

$ IPTABLES -A INPUT -p icmp -m icmp --icmp-type echo-r​​equest -j ACCEPT



echo "ファイアウォール:開始..."



スクリプト/ etc / iptables / iptables_stopは、/ etc / iptables / iptables_startのルールに従ってコンパイルされますが、誰かが困難な場合は、NATポート転送を無効にして新しい着信接続をブロックするスクリプトを以下に示します。



/ etc / iptables / iptables_stop

#!/ bin / bash

#------------------------------------------------- ------------------------------

#ユーティリティの決定:



IPTABLES = / sbin / iptables



#------------------------------------------------- ------------------------------

#以前の設定をリセット:



echo "ファイアウォール:既存のルールをクリアし、デフォルトポリシーを設定します.."



#ルールを削除

$ IPTABLES -F

$ IPTABLES -t nat -F

$ IPTABLES -tマングル-F



#カスタムルールをクリア

$ IPTABLES -X

$ IPTABLES -t nat -X

$ IPTABLES -tマングル-X



#------------------------------------------------- ------------------------------

#デフォルトポリシーの定義:



#すべての着信接続を拒否

$ IPTABLES -P入力ドロップ

#すべての発信接続を許可

$ IPTABLES -P出力受け入れ

#通過(nat)接続を拒否

$ IPTABLES -Pフォワードドロップ



#確立されたセッションでパッケージを許可する

$ IPTABLES -A INPUT -m state --state ESTABLISHED、RELATED -j ACCEPT

$ IPTABLES -A出力-m状態--state確立、関連-j ACCEPT

$ IPTABLES -A FORWARD -m state --state ESTABLISHED、RELATED -j ACCEPT



#識別できないため、特定のステータスを持つことができないすべてのパケットをドロップします。

$ IPTABLES -A入力-m状態--state無効-jドロップ

$ IPTABLES -A FORWARD -m state --state INVALID -j DROP



#ループバックインターフェイスを通過するトラフィックを許可します。

$ IPTABLES -A入力-i lo -j ACCEPT

$ IPTABLES -A出力-o lo -j ACCEPT



#インターフェイスがloでない場合、そのアドレスのリストの入力を禁止します。

$ IPTABLES -A INPUT -s 127.0.0.1/255.0.0.0! -i lo -j DROP



#コンピュータへのlo以外のインターフェイスからの新しい接続は禁止されています。

$ IPTABLES -A入力-m状態! -i lo --state NEW -jドロップ



#------------------------------------------------- ------------------------------

#カーネルでのIP転送の無効化:



echo "ファイアウォール:転送を無効にします.."

エコー "0"> / proc / sys / net / ipv4 / ip_forward

echo "ファイアウォール:DynamicAddrの無効化.."

echo "0"> / proc / sys / net / ipv4 / ip_dynaddr



echo "ファイアウォールが停止しました..."



All Articles