Bu ay faturayı ödemeyen oda arkadaşlarım için interneti nasıl kapatabilirim?


56

İnternet faturamı her ay yanımda ayıran birkaç oda arkadaşım var. Bazen bana para vermeyi unutuyorlar ve para için onları rahatsız etmem gerekiyor.

3 günlük pester işleminden sonra hala ödeme yapmadılarsa, unix tabanlı yönlendiricimde mac adreslerine gelen trafiği engelleyen bir güvenlik duvarı kuralı oluşturuyorum. Bu, nakit para toplamak için suçlu oda arkadaşı alma konusunda çok etkili olduğunu kanıtladı.

Her ayın 3'ünde bir mac adresinin güvenlik duvarı kuralına eklenmesini / kaldırılmasını nasıl otomatikleştirebilirim? Ödeme yaptıktan sonra ayın kalanında engellemeyi kaldırmanın basit bir yolunu istiyorum.

Şu anda pfsense kullanıyorum. Sabit bir portal modülü varken, kullanıcı başına / aylık erişimi düzenlemeyi desteklemiyor.

Oda arkadaşı internet erişimini engelleme / engellemeyi kaldırma özelliğini nasıl otomatikleştirebilirim?


14
Şu anda yaptığınız şey, bu konuda en etkili yol gibi görünüyor - tutsak bir portal çözümünün, eksiksiz bir tamamlamadan başka bir şey olduğunu düşünemiyorum. Herhangi bir şey varsa, kuralı kendileri otomatikleştirmek için basit bir kabuk betiği yapabilirsiniz.
NReilingh

8
MAC adresi çok, çok çok kolaydır ve herhangi bir güvenlik önlemi oluşturmak için kullanılmamalıdır. Windows bir kayıt defteri düzenlemesi gerektiriyor. Linux bir komut gerektirir. Linux'ta bir komutla MAC adresinizi bile kopyalayabilirdi. Bana göre daha iyi bir çözüm, ayda bir kez parola değişikliğini otomatikleştirmek olacaktır. Erişim yetkisini bilginizden ziyade orada bulunmasından ziyade kısıtlayın.
Mark Lopez,

3
@Nikolay haklısın, MAC adresinin değiştirilmesi daha ileri bir konu olabilir. Bununla birlikte, sadece aklımıza gelen referans için - MAC filtrelemenin güvenilmez olduğunu vurgulamak istedim. Ek olarak, çoğu durumda MAC filtreleme en iyi çözüm değildir. MAC filtrelemenin iyi bir güvenlik uygulaması olduğunu söyleyen çok sayıda öğreticiyi çevrimiçi olarak değiştirmek istiyorum.
Mark Lopez,

6
Akılda olsun, millet, bu bir ROOMMATE durumudur. Adreslerini MAC, @ spuder ile engellemeye çalışmak yerine, yalnızca MAC adreslerinizi İZİN VERMenizi ve diğerlerini hariç tutmanızı tavsiye ederim . 4 cihazınız varsa, sadece bunlara izin verin. Diğer tüm MAC adresleri (sahte bile olsa) hariç tutulur. Bu SADECE bir daireyi hatırla, değil mi? Sonra, kurnaz oda arkadaşların MAC addie parolasını denediğinde ... ve işe yaramadığında ... gülümsersin. Çocukları hatırla: Bazen düşünceni "tersine çevirmek" için para ödüyor ...
borg'lu leo

11
Upside-Ternet'ten henüz kimsenin bahsetmediğine şaşırdım . Çok daha eğlenceli, daha sonra sadece engelleme.
SQB

Yanıtlar:


33
  1. Kısıtlayıcı iptables kuralı ekleyen bir bash betiği yapın.
  2. Bu betiği aylık cron'a koy.
  3. Bash betiğinin içinde bir koşul yaratın - eğer dosya ~/do_not_block_friendsvarsa ve değişiklik süresi ay içinde ise ( stat -c %y filename) - betiği çalıştırmayın.
  4. Bir kere sana öderler touch ~/do_not_block_friends.

Betik çalışacak ve do_not_block_friendsdeğiştirilmiş olduğunu görecek, böylece iptables komutunu çalıştırmayacak.

Onlar size ödemedilerse - script onları engelleyecektir.

Ödeme yaptıktan sonra, kilidini açmak için başka bir hazırlanmış senaryo yayınlarsınız.

Bu, fazla ayrıntı içermeyen genel bir plandır, ancak geri kalanını çözmenin zor olacağını sanmıyorum.

Düzenle :

İşte böyle bir senaryo yazmanın daha basit bir yolu:

#!/bin/bash

count=`find ~ -maxdepth 1 -type f -name do_not_block_friends -mtime -31 | wc -l`

if [ "$count" -eq 1 ]; then

# Friends have paid. Do nothing;

else

# Friends have not paid. Run iptables command;

fi

Biz kullanmak findaşağıdaki seçeneklerle komutu:

  • maxdepth 1 - özyinelemeli arama yapmayın
  • type f - Dosyayı ara
  • name - Bu adı ara
  • mtime -31 - 31 günden daha kısa bir süre önce değiştirilmiş dosyayı bulun

wc -lkomut tarafından üretilen satır sayısını sayar. Bu olacak 0arkadaş ödemedim (hiçbir şey bulundu) ve öyle de olacak eğer 1arkadaş ödeme yaptı ve yaptığımız takdirde touchdenetim dosyası.

Bu komut dosyası ay içindeki gün sayısını hesaplamaz ve varsayılan olarak 31 olarak hesaplanır, ticari faturalandırma sistemi oluşturmadığımız için sorun değil, ancak bunun bash cinsinden hesaplanabileceğine inanıyorum.


Cron iş kesinlikle gitmek yoludur!
Rob

14

İstediğinizden daha fazlası olabilir, ancak RADIUS'a karşı 802.1x kimlik doğrulamasını arka uç olarak kullanarak kablosuz kimlik bilgilerini ayarlamayı düşündünüz mü?

RADIUS, oda arkadaşlarınızın kirasını ödeyip ödemeyeceğini görmek için istediğiniz doğrulayıcıyı (muhtemelen bir veritabanında kodlamak ve depolamak zorunda kalacağınız bir şey) kontrol etmek üzere ayarlanabilir. Kimlik doğrulama yaptıklarında ve ödeme yaptıklarında, RADIUS bunları doğrular. Aksi takdirde, olmaz. Bunun olumlu yönü, MAC adreslerini filtrelemeye güvenmemenizdir. Bu şekilde, teknoloji meraklısı oda arkadaşlarınız varsa, yerleştirdiğiniz kontrolleri atlayamazlar.


Gerçek hayat için en iyi çözüm. ve kolaylıkla yeni / daha fazla oda arkadaşına veya diğer önemli insanlarınızı eklemek gibi diğer insanlara kolayca uyarlanabilir, böylece onları engellemeyebilir
PsychoData

yeterince basit, mac filtrelemeden daha iyi ve bir portaldan daha basit sesler
MDT Guy

1

Banka hesabınızın veya kullanabileceğiniz başka bir işlem çözümünün (PayPal?) Herhangi bir otomatik ödeme bildirimi sağlayıp sağlamadığını kontrol edin:

  • işlem başına e-posta bildirimi
  • günlük işlem özeti e-postası
  • bazı iyi API

Eğer böyle bir yöntem mevcutsa, kalan tek şey ödemeleri izleyecek basit bir senaryo yazmaktır. Arkadaşlarınızın aylık ödemeleri için arayan e-postaları bankadan ayrıştırmanız yeterlidir. Her arkadaşın hesap numarasını veya kimliğini, toplam ücretini (aynı zamanda genel bir sabit de olabilir) ve MAC adresini saklayan bir yapılandırma dosyasına ihtiyacınız olacak.

Betik, güvenlik duvarı girişlerini aylık ödeme durumuna göre ayarlayacaktır.

Daha sonra, arkadaşlarınıza mevcut ödeme seçenekleri hakkında bilgi verin ve - güvenlik duvarınızı yapılandırırken - arkadaşlarınıza ödeme mekanizmasına erişim sağlamayı unutmayın; böylece 3 günlük ödemesiz süreyi kaçırdıklarında ödeme yapabilirler :)


evet, ama o zaman işlem ücretleri ödemek zorunda
kalacak
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.