いくつかの便利な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 "ファイアウォールが停止しました..."

Source: https://habr.com/ru/post/J96207/


All Articles