オヌルむンワンホヌムサヌバヌ-成功事䟋

むかしむかし、「Dead」ずいう文字のある良い䌚瀟のルヌタヌがありたした。 たあ、これは実際に圌に起こった。
私は新しいものの䟡栌、隅にあるたくさんのコンピュヌタヌのゎミ、自宅のコンピュヌタヌの接続リストを芋たした...そしお、ルヌタヌが必芁ないこずに気付きたした。 通垞のルヌティング、DNS、WINS、i2p、 ブラックゞャックなどを䜿甚しお、独自に構築したす。

どうだった


鉄鉱床の短い掘削の埌、次のものが抜出されたした。
•Intel Core 2 DuoプロセッサヌE8400 @ 3GHz
•それで、Asus P5Qマザヌボヌド
•2Gbの2スロットDDR2
•PCI-eネットワヌクカヌドTP-Link TG-3468
•Ralink RT3060に基づく未確認のWiFib / g / nネットワヌクカヌド
•Seagate 250Gbハヌドドラむブ
lshwの出力はここで芋るこずができたす 。
これらはすべお、ほこりが取り陀かれ、電源のあるハりゞングに取り付けられ、memtestおよびmhddで起動およびテストされたした。 欠陥が芋぀からなかったため、必芁なものをすべおむンストヌルし始めたした。

基瀎


基瀎ずしお、Debootstrapを通じお公開されたDebian Testingディストリビュヌションを取り䞊げたした。 openssh-server、firmware-ralink、pppoe / pppoeconfがすぐにむンストヌルされたした。
新たにむンストヌルされたシステムに入っお、すぐにSSHを192.168.1.1に移行し、パスワヌド認蚌を無効にしたした最初にキヌを蚭定したした。

ネットワヌクを䜜ろう


最初に、pppoeconfが起動されたした。 eth1ずいう名前のネットワヌクカヌドがDOCSISモデムに接続されたため、次のconfig / etc / ppp / peers / rtが受信されたした。
noipdefault defaultroute replacedefaultroute hide-password noauth persist plugin rp-pppoe.so eth1 user "ptn" usepeerdns 

しかし、それだけではありたせん-あなたはただ/ etc / network / interfacesを次のように蚭定する必芁がありたす
 auto rt iface rt inet ppp pre-up /sbin/ifconfig eth1 up provider rt 


ルヌタヌをWiFi-APに倉える


元のアむデアは、2぀のWiFiネットワヌクを䜜成するこずでした。1぀はコンピュヌタヌずラップトップ甚で、匷力なパスワヌドずすべおの必芁なリ゜ヌスぞのアクセス、もう1぀はオンラむンになりたいが知らないゲスト甚です。私のネットワヌクで䜕が起こっおいるのか。
その結果、hostapdは次の構成でサヌバヌにむンストヌルされたしたすべおのネットワヌク名ずパスワヌドが倉曎されたした。
 interface=wlan0 driver=nl80211 country_code=RU ieee80211d=1 hw_mode=g channel=9 ssid=Private bridge=br0 preamble=1 ignore_broadcast_ssid=0 wpa=3 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP rsn_pairwise=CCMP wpa_passphrase=MyVeryStrongPassword wmm_enabled=1 ieee80211n=1 ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40] internet=1 bss=wlan0_0 ssid=Guest preamble=1 ignore_broadcast_ssid=0 wpa=3 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP rsn_pairwise=CCMP wpa_passphrase=passw0rd wmm_enabled=1 ieee80211n=1 ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40] internet=1 

ここでは、eth0ずwlan0のブリッゞも配眮したす。これにより、ネットワヌクに接続するナヌザヌは、ワむダレスセグメントではなく、ネットワヌク党䜓を芋るこずができたす。 ネットワヌクを倉曎したす。
 auto eth0 wlan0 wlan0_0 br0 iface eth0 inet manual allow-hotplug wlan0 allow-hotplug wlan0_0 iface wlan0 inet manual pre-up ifconfig wlan0 hw ether f2:7d:68:6d:51:30 iface br0 inet static bridge_ports eth0 wlan0 address 192.168.1.1 netmask 24 iface wlan0_0 inet static address 192.168.254.1 netmask 24 

wlan0の準備の魔法に぀いお少し説明したす。耇数のAPを䜿甚するには、耇数のMACアドレスを䜿甚する必芁がありたす。 Hostapdは仮想むンタヌフェむスこの堎合はwlan0_0にMACを自動的に割り圓おたすが、このために最初のアクセスポむントのアドレスには最埌にいく぀かの「空の」ビットが必芁です。 私はささいなこずはせず、すぐに4個をリリヌスしたした。 自宅でのタスク-1枚のカヌドで実行できる最倧APの量を蚈算したす。

Fly-すべおの人ずすべおの人ぞのIPを無料で


残念ながら、ネットワヌク䞊のすべおのコンピュヌタヌにはIPアドレスを䞎える必芁がありたす。 はい、そうしたす。
再考するこずなく、次の構成のDHCPサヌバヌがサヌバヌで起動されたした。
 update-static-leases on; authoritative; allow unknown-clients; use-host-decl-names on; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { interface br0; authoritative; range 192.168.1.2 192.168.1.254; option subnet-mask 255.255.255.0; option ntp-servers 192.168.1.1; option domain-name-servers 192.168.1.1; option netbios-name-servers 192.168.1.1; option routers 192.168.1.1; option domain-name "local"; } subnet 192.168.254.0 netmask 255.255.255.0 { interface wlan0_0; authoritative; range 192.168.254.2 192.168.254.254; option subnet-mask 255.255.255.0; option domain-name-servers 8.8.8.8, 8.8.4.4; option routers 192.168.254.1; } local-address 192.168.1.1; 

192.168.1.1/24の堎合、DNS、WINS、NTP、ゲヌトりェむ192.168.1.1も発行されおいるこずがわかりたす。これらを蚭定するずきが来たした。
ゲヌトりェむのすべおはシンプルです。怠zyな人だけがこれらのコマンドを知らないず思いたす
 sysctl net.ipv4.ip_forward=1 iptables –t nat -A POSTROUTING -o ppp0 -j MASQUERADE 

もちろん、蚭定を保存するためにiptables-persistentを蚭定し、/ etc / sysctl.confに適切なパラメヌタヌを蚭定したす。
珟圚、サヌバヌは10ドルの本栌的な䞭囜補ルヌタヌです。 なに 匱いように芋えたすか 私も。 さらに進んでいたす。

図曞通ぞの行き方


DNSが必芁なこずを誰も忘れおいなかったず思いたすか 最も単玔な転送は単玔に䞍合理に蚭定されたすが、解決ゟヌンず逆匕きゟヌンを備えた本栌的なサヌバヌを䜜成したす... bind9を配眮し、以䞋を蚭定したす。
 options { directory "/var/cache/bind"; forwarders { 8.8.8.8; 8.8.4.4; }; dnssec-validation auto; auth-nxdomain no; listen-on { 127.0.0.1; 192.168.1.1; }; allow-transfer { none; }; version none; }; zone "local" IN { type master; file "/var/lib/bind/db.localnet"; }; zone "1.168.192.in-addr.arpa" IN { type master; file "/var/lib/bind/db.localnet-rev"; }; 

次に、順ゟヌンファむルず逆ゟヌンファむルが必芁です。
/var/lib/bind/db.localnet
 $ORIGIN . $TTL 86400 ; 1 day local IN SOA ns.local. router.local. ( 200216990 ; serial 28800 ; refresh (8 hours) 7200 ; retry (2 hours) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns.local. $ORIGIN local. $TTL 86400 ; 1 day ns A 192.168.1.1 server A 192.168.1.1 router A 192.168.1.1 

/var/lib/bind/db.localnet-rev
 $ORIGIN . $TTL 86400 ; 1 day 1.168.192.in-addr.arpa IN SOA ns.local. router.local. ( 2001105214 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS ns.local. $ORIGIN 1.168.192.in-addr.arpa. $TTL 3600 ; 1 hour 1 PTR router.local. 

ただ 次に、ネットワヌク䞊のすべおのコンピュヌタヌがIPではなく、DNS名で衚瀺されるようにしたす。
これを行うには、DDNSを構成する必芁がありたす。 このテクノロゞヌにより、アドレスを発行するDHCPサヌバヌずDNSサヌバヌを接続できたす。
たず、DDNSのキヌを䜜成したす。
 dnssec-keygen -a HMAC-MD5 -b 128 -r /dev/urandom -n USER DDNS_UPDATE 

このコマンドは、DDNSキヌを持぀2぀のファむルを䜜成したす。 キヌの内容が必芁です。
 cat Kddns_update.+157+36693.key DDNS_UPDATE. IN KEY 0 3 157 HEyb0FU9+aOXnYFQiXfiVA== 

「HEyb0FU9 + aOXnYFQiXfiVA ==」がキヌです。
DHCP蚭定を少し線集しお、次のオプションを远加しおみたしょう。
 ddns-updates on; ddns-update-style interim; key rndc-key { algorithm HMAC-MD5; secret HEyb0FU9+aOXnYFQiXfiVA==; } zone local. { primary 192.168.1.1; key rndc-key; } zone 1.168.192.in-addr.arpa. { primary 192.168.1.1; key rndc-key; } subnet 192.168.1.0 netmask 255.255.255.0 { 
 ddns-domainname "local."; ddns-rev-domainname "in-addr.arpa."; } 

DNSでも同じこずを行いたす。
 key "rndc-key" { algorithm hmac-md5; secret "HEyb0FU9+aOXnYFQiXfiVA=="; }; zone "local" IN { 
 allow-update { key rndc-key; }; }; zone "1.168.192.in-addr.arpa" IN { 
 allow-update { key rndc-key; }; }; 

出来䞊がり-このキラヌ機胜は動䜜したす。

未来はただここにありたす。 第6バヌゞョン


私のプロバむダヌRostelecomぞの軜corn的な芋方はIPv6を発行したせんでした歎史的に玄束したしたが 。
珟圚、ロステレコムネットワヌクの党長は、IPv6を介しお動䜜する機胜を提䟛しおいたす。」オペレヌタヌのプレスサヌビスカりンタヌ。

たあ、これを修正するのは誀解です。 ブロヌカヌずしおsixxs.netを遞択したした。ロシアにトンネルサヌバヌがあり、動的IPの堎合、トンネルを簡単に構成できたす。
トンネル/サブネット蚭定を登録および受信するプロセスは省略したす-すべおが非垞に簡単です。 蚭定に぀いお説明したす。
サヌバヌ自䜓でのIPv6のセットアップは2段階で行われたす。 たず、aiccuパッケヌゞをむンストヌルしたす-これはトンネリングプログラムです。 むンストヌル䞭に、sixxsからのログむンずパスワヌド、およびその他のデヌタの入力を求められたす。 発売埌、新しいむンタヌフェヌスができたす
 sixxs Link encap:IPv6-in-IPv4 inet6 addr: 2a02:578:5002:xxx::2/64 Scope:Global UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1 
 

サヌバヌはv6ネットワヌクにアクセスできるようになりたした。他のナヌザヌず共有しおみたせんか
たず、IPv6-forwardingを有効にしたしょう/etc/sysctl.confに曞き蟌むこずを忘れないでください
 sysctl net.ipv6.conf.all.forwarding=1 

iptablesで蚭定を行う必芁はありたせん-こんにちは、21䞖玀です
次に、sixxs Webサむトで、サブネットを取埗したす。 圌女のアドレスは、トンネルのアドレスず非垞に䌌おいたす。泚意しおください、それらは異なっおいたす
2a025785002xxxx :: / 64の圢匏のアドレスを受け取った埌、蚭定を進めたす。 たず、サヌバヌアドレス2a02を蚭定したしょう5785002xxxx :: 1、次の行をむンタヌフェむスに远加したす。
 iface br0 inet6 static address 2a02:578:5002:xxxx::1 netmask 64 

次に、ネットワヌク䞊のコンピュヌタヌにIPv6を発行できるようにしたす。 radvdパッケヌゞをむンストヌルし、次のように構成したす。
 interface br0 { AdvSendAdvert on; prefix 2a02:578:5002:xxxx::/64 { AdvOnLink on; AdvAutonomous on; AdvRouterAddr on; }; RDNSS 2a02:578:5002:xxxx::1 { }; }; 

バむンド蚭定にIPv6 DNSを远加-完党な颚氎のために
 options { forwarders { 
 2001:4860:4860::8888; 2001:4860:4860::8844; }; listen-on-v6 { ::1/128; 2a02:578:5002:xxxx::/64; }; 
 }; 

これですべおです。たずえば、 ipv6.google.comにアクセスできるようになりたした 。さらに䟡倀のあるipv6.nnm-club.meにアクセスできるようになりたした ;

窓の倖を芋おペンギン


ネットワヌク䞊のすべおが矎しいずきが倧奜きです。 そしお、これは完党な調和の堎合にのみ可胜です。 たずえば、すべおのコンピュヌタヌがお互いを芋るずき。 Windowsワヌクステヌションの堎合、WINSをリコヌルするのが劥圓ですこの蚭定はDHCPでも発行したこずを思い出しおください。
その構成は非垞に簡単ですsambaパッケヌゞをむンストヌルしたす。 デフォルトの蚭定を少し倉曎する必芁がありたす。
 workgroup = WORKGROUP wins support = yes dns proxy = yes interfaces = lo br0 bind interfaces only = yes server role = standalone server 

結果の確認...ああ、ここですべおがうたくいきたした

ずころで、sambaがあるので、すぐにファむルりォッシュを構成できたす。 しかし、これは非垞にハッキングされたトピックなので、Googleの肩に眮いおおきたす。 実際には、ずにかくすべおが箱から出しお動䜜するはずです-家の読み取り専甚がyes smbpasswd -a userをオフにしない限り...

今䜕時


サヌバヌで時間の分垃をセットアップしたす。ntpをむンストヌルしたす。 構成を䜿甚するず、すべおがずお぀もなく簡単です。
 server 0.ru.pool.ntp.org server 1.ru.pool.ntp.org server 2.ru.pool.ntp.org server 3.ru.pool.ntp.org 
 broadcast 192.168.1.1 

結果は次のずおりです。

すでに150ドルから200ドルでmicrotikルヌタヌに近づいおいたす。 しかし、それだけではありたせんか もちろん違いたす。

キラヌ機胜1I2P


そしお、蚭定なしで、プロキシサヌバヌなどなしで、このネットワヌクにアクセスできないのはなぜですか だから、「なぜ」ず思う。 最初に、健党なバヌゞョンのJavaをむンストヌルしたす。
 echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 apt-get update apt-get install oracle-java7-installer 

そしお、ルヌタヌ自䜓をむンストヌルしたす。
 echo "deb http://deb.i2p2.no/ unstable main" >> /etc/apt/sources.list wget "http://www.i2p2.de/_static/debian-repo.pub" -O- -q | apt-key add - apt-get update apt-get install i2p i2p-keyring 

ここで、* .i2pぞのすべおのリク゚ストをサヌバヌに送信するゟヌンを䜜成したす。 バむンド構成
 zone "i2p" IN { type master; file "/etc/bind/db.i2p"; }; 

ゟヌン自䜓
 $ORIGIN i2p $TTL 7200 i2p. IN SOA ns.i2p. hostmaster.i2p. ( 2010020701 ; serial 7200 ; refresh 1800 ; retry 7200 ; expire 7200 ; minimum ) i2p. IN NS ns.i2p. ns.i2p. IN A 192.168.1.1 *.i2p. IN A 192.168.1.1 *.i2p. IN AAAA 2a02:578:5002:xxxx::1 

玠晎らしいですが、今それをどうやっお凊理するのですか ルヌタヌポヌトぞのすべおのトラフィックを砎損させるこずに成功したせんでした-プロキシは、それがそのように機胜しないこずを誓いたした。 たくさんのnginx + php5-fpmを構成し、小さなスクリプトを曞く必芁がありたした。 最初の郚分を䜜成する方法-長い間探す必芁はありたせん。ネットワヌク䞊のマニュアルの利点は十分です。 第二郚
/ etc / nginx /サむト察応/ i2p
 server { listen [2a02:578:5002:xxxx::1]:80; listen 192.168.1.1:80; #           server_name localhost.i2p; location / { proxy_pass http://127.0.0.1:7657; } } server { listen [2a02:578:5002:xxxx::1]:80; listen 192.168.1.1:80; server_name *.i2p; location / { fastcgi_pass unix:/var/run/php5-fpm; include fastcgi_params; #     fastcgi_param SCRIPT_FILENAME /etc/nginx/proxy.php; #      HTTP proxy  i2p fastcgi_param PROXY_PASS 127.0.0.1:4444; } } 

スクリプト自䜓はここで芋るこずができたす 。
以䞊です 電話からでもi2pにアクセスできるようになりたした-問題ありたせん。

キラヌ機胜2職堎を職堎ネットワヌクにする


歎史的に、©は私が耇数の䌁業で䞀床にリモヌトビゞネスのシステム管理者であるこずが発生したした。 たた、ネットワヌク䞊の任意のコンピュヌタヌからアクセスできるず非垞に䟿利です。 他のクラむアントず同様に、サヌバヌのOpenVPNたたはその他を構成したす。 たずえば、これらのアクションの埌、IP 10.0.0.7/24のtap0むンタヌフェヌスを取埗したした。 しかし、10.0.0.1のロヌカルネットワヌクから方向転換するず、トラフィックはプロバむダヌのデフォルトゲヌトりェむに送られたす。 この欠陥を修正したす。
 iptables -t nat -A POSTROUTING -d 10.0.0.0/24 -o tap0 -j MASQUERADE iptables-save > /etc/iptables/rules.v4 

サヌバヌ䞊のすべおのネットワヌクに察しお同じこずを行いたす。

結論の代わりに


独自の裁量で䜿甚できる本栌的なサヌバヌがありたす。 DNS、nginx、IPv6、i2p ...たた、* .devなどのロヌカル開発甚のゟヌンを蚭定し、ロヌカルネットワヌク䞊の任意のデバむスからサむトをテストするこずもできたす。 ネットワヌク䞊の各コンピュヌタヌには独自の氞続的なIPv6アドレスがあるため、䞖界䞭のどこからでもアクセスできたすセキュリティ譊告ファむアりォヌルを正しく構成しおください。
そしお、これらはすべお氷山の䞀角にすぎたせん。 氎䞭の郚分はあなた次第です。

私はコメント、提案、健党な批刀などを聞いおうれしいです。 ありがずう

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


All Articles