Làm cách nào tôi có thể tắt internet cho bạn cùng phòng chưa thanh toán hóa đơn trong tháng này?


56

Tôi có một vài người bạn cùng phòng đã chia hóa đơn internet của tôi mỗi tháng. Có dịp họ quên trả tiền cho tôi, và tôi phải trả tiền cho họ.

Nếu sau 3 ngày làm phiền họ vẫn không trả tiền, tôi sẽ tạo quy tắc tường lửa trong bộ định tuyến dựa trên unix của mình để chặn lưu lượng truy cập đến địa chỉ mac của họ. Điều này chứng tỏ là rất hiệu quả trong việc khiến bạn cùng phòng phạm pháp phải trả tiền mặt.

Làm cách nào tôi có thể tự động hóa việc thêm / xóa địa chỉ mac vào quy tắc tường lửa vào ngày 3 hàng tháng? Tôi muốn một cách đơn giản để bỏ chặn họ trong phần còn lại của tháng sau khi họ trả tiền.

Tôi hiện đang sử dụng pfsense. Mặc dù có một mô-đun cổng bị khóa , nó không hỗ trợ điều chỉnh quyền truy cập cho mỗi người dùng / mỗi tháng.

Làm cách nào tôi có thể tự động chặn / bỏ chặn truy cập internet của bạn cùng phòng?


14
Những gì bạn đang làm bây giờ nghe có vẻ là cách hiệu quả nhất về nó - Tôi không thể tưởng tượng được một giải pháp cổng bị giam cầm là bất cứ điều gì nhiều hơn là quá mức cần thiết. Nếu bất cứ điều gì, bạn có thể tạo một tập lệnh shell đơn giản để tự động hóa quy tắc tự thêm vào.
NRzingh

8
Địa chỉ MAC rất, rất, dễ thay đổi và không nên được sử dụng để hình thành bất kỳ biện pháp bảo mật nào. Windows yêu cầu một chỉnh sửa đăng ký. Linux yêu cầu một lệnh. Với một lệnh trong Linux, anh ta thậm chí có thể sao chép địa chỉ MAC của bạn. Dường như với tôi rằng một giải pháp tốt hơn sẽ tự động thay đổi mật khẩu mỗi tháng một lần. Hạn chế truy cập dựa trên kiến ​​thức của bạn chứ không phải là thiếu.
Mark Lopez

3
@Nikolay bạn nói đúng, thay đổi địa chỉ MAC có thể là một chủ đề nâng cao hơn. Tuy nhiên, tôi chỉ muốn nhấn mạnh rằng để tham khảo bởi hậu thế của chúng tôi - lọc MAC là không đáng tin cậy. Ngoài ra, lọc MAC trong hầu hết các trường hợp không phải là giải pháp tốt nhất. Tôi muốn thay thế nhiều hướng dẫn trực tuyến nói rằng lọc MAC là một thực hành bảo mật tốt.
Đánh dấu

6
Hãy nhớ rằng, đây là một tình huống ROOMMATE. Thay vì cố gắng chặn địa chỉ của họ bằng MAC, @spuder, tôi khuyên bạn chỉ nên cho phép các địa chỉ MAC của mình và loại trừ tất cả các địa chỉ khác. Nếu bạn có 4 thiết bị thì bạn chỉ cho phép những thiết bị đó. Tất cả các địa chỉ MAC khác (thậm chí giả mạo) sẽ bị loại trừ. Hãy nhớ điều này CHỈ một căn hộ, phải không? Sau đó, khi những người bạn ranh mãnh của bạn cố gắng giả mạo MAC ... và nó không hoạt động ... bạn mỉm cười. Nhớ những đứa trẻ: Đôi khi, nó trả tiền để "đảo ngược" suy nghĩ của bạn ...
leo của borg

11
Tôi ngạc nhiên không ai đã đề cập đến Upside-Down-Ternet . Cách nào vui hơn thì cứ chặn.
SQB

Câu trả lời:


33
  1. Tạo một tập lệnh bash có thêm quy tắc iptables hạn chế.
  2. Đặt tập lệnh này trong cron hàng tháng.
  3. Bên trong tập lệnh bash tạo một điều kiện - nếu tệp ~/do_not_block_friendstồn tại và thời gian sửa đổi của nó nằm trong khoảng thời gian tháng ( stat -c %y filename) - không chạy tập lệnh.
  4. Một khi họ trả tiền cho bạn làm touch ~/do_not_block_friends.

Script sẽ chạy và thấy nó do_not_block_friendsđã được sửa đổi, vì vậy nó sẽ không chạy lệnh iptables.

Nếu họ không trả tiền cho bạn - kịch bản sẽ chặn họ.

Khi họ đã trả tiền, bạn chạy một kịch bản chuẩn bị khác để mở khóa.

Đây là kế hoạch chung mà không có nhiều chi tiết, nhưng tôi không nghĩ rằng sẽ khó để tìm ra phần còn lại của nó.

Chỉnh sửa :

Đây là cách đơn giản hơn để viết kịch bản như vậy:

#!/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

Chúng tôi sử dụng findlệnh với các tùy chọn sau:

  • maxdepth 1 - Không tìm kiếm đệ quy
  • type f - Tìm kiếm tập tin
  • name - Tìm kiếm tên này
  • mtime -31 - Tìm tập tin đã được sửa đổi ít hơn 31 ngày trước

wc -lsẽ đếm số lượng hàng được tạo bởi lệnh. Sẽ là 0nếu bạn bè chưa trả tiền (không tìm thấy gì) và sẽ là 1nếu bạn bè đã trả tiền và chúng tôi đã touchkiểm soát tệp.

Kịch bản này không tính toán số ngày trong tháng và mặc định là 31, tôi nghĩ rằng nó ổn vì chúng tôi không xây dựng hệ thống thanh toán thương mại, nhưng tôi tin rằng thậm chí có thể được tính bằng bash.


Cron job chắc chắn là con đường để đi!
Cướp

14

Nó có thể nhiều hơn bạn đang tìm kiếm, nhưng bạn đã xem xét việc thiết lập thông tin đăng nhập không dây bằng cách sử dụng xác thực 802.1x chống lại RADIUS làm phụ trợ chưa?

RADIUS có thể được thiết lập để kiểm tra bất kỳ trình xác nhận nào bạn muốn (thứ gì đó có thể bạn sẽ phải viết kịch bản và lưu trữ trong cơ sở dữ liệu hoặc thứ gì đó) để xem bạn chung phòng của bạn đã trả tiền thuê chưa. Khi họ xác thực và đã thanh toán, RADIUS xác thực họ. Mặt khác, nó không. Khía cạnh tích cực của vấn đề này là bạn không dựa vào việc lọc các địa chỉ MAC. Theo cách đó, nếu bạn có những người am hiểu về công nghệ, họ sẽ không dễ dàng bỏ qua các biện pháp kiểm soát mà bạn đã đặt.


giải pháp tốt nhất cho cuộc sống thực. và sẽ dễ dàng thích nghi với những người bạn mới / nhiều bạn cùng phòng hoặc những người khác như thêm người quan trọng của bạn để họ không chặn họ
PsychoData

Nghe có vẻ đơn giản, tốt hơn lọc mac và đơn giản hơn cổng thông tin
MDT Guy

1

Kiểm tra xem tài khoản ngân hàng của bạn hoặc giải pháp giao dịch khác mà bạn có thể sử dụng (PayPal?) Có cung cấp bất kỳ cách thông báo thanh toán tự động nào không, như:

  • thông báo email mỗi giao dịch
  • e-mail tóm tắt giao dịch hàng ngày
  • một số API phong nha

Nếu có bất kỳ phương thức nào như vậy, tất cả những gì còn lại là viết một số tập lệnh đơn giản sẽ theo dõi các khoản thanh toán. Bạn chỉ có thể phân tích các e-mail từ ngân hàng để tìm kiếm các khoản thanh toán hàng tháng từ bạn bè của bạn. Bạn sẽ cần một tệp cấu hình lưu trữ số tài khoản hoặc ID của mỗi người bạn, tổng số tiền phải trả (cũng có thể là hằng số toàn cầu) và địa chỉ MAC.

Tập lệnh sau đó sẽ điều chỉnh các mục tường lửa theo trạng thái thanh toán hàng tháng.

Sau đó, thông báo cho bạn bè của bạn về các tùy chọn thanh toán có sẵn và - trong khi định cấu hình tường lửa của bạn - hãy nhớ cung cấp cho bạn bè của bạn quyền truy cập vào cơ chế thanh toán để họ vẫn có thể thanh toán khi bỏ lỡ thời gian ân hạn 3 ngày :)


vâng, nhưng sau đó anh ta sẽ phải trả phí xử lý, vì
ngần ngại
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.