Witam, Musiałbyś napisać w PHP skrypt który pobierał by dane od usera (login i hasło, czy jak tam chcesz) i jeśli wszystko się zgadza, wykonywał odpowiednią regułę iptables. Natomiast akces pointy, musiały by być nie zabezpieczone, jak w przypadku hotspotów.
Skrypt: <?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">"; echo "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\">"; echo "<head>"; echo "<title>Logowanie do sieci</title>"; echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\"/>"; echo "</head>"; echo "<body>"; if($_POST["zaloguj"] == "Zaloguj") { $login = $_POST["login"]; $haslo = $_POST["haslo"]; mysql_connect("localhost", "login", "haslo"); mysql_select_db("baza"); $zapytanie = mysql_query("SELECT internet, adres_ip FROM userzy WHERE login='$login' AND haslo='$haslo'"); //1 if(mysql_num_rows($zapytanie) == 1) { $wynik = mysql_fetch_array($zapytanie); if($wynik["internet"] == "tak") { $adres_ip = $wynik["adres_ip"]; //1 exec("regułka iptables"); //3 echo "ok"; } else { echo "wyłączony net"; } } else { echo "nieprawidłowy login lub hasło"; } } else { echo "<form method=\"post\">"; echo "<table>"; echo "<tr>"; echo "<td align=\"right\">Login:</td>"; echo "<td><input type=\"text\" name=\"login\"/></td>"; echo "</tr>"; echo "<tr>"; echo "<td align=\"right\">Hasło:</td>"; echo "<td><input type=\"text\" name=\"haslo\"/></td>"; echo "</tr>"; echo "<tr>"; echo "<td></td>"; echo "<td><input type=\"submit\" name=\"zaloguj\" value=\"Zaloguj\"></td>"; echo "</tr>"; echo "</table>"; echo "</form>"; } echo "</body>"; echo "</html>"; ?> Wewnątrz regułki iptables (linijka kończąca się na //3), możesz wykorzystać uprzednio zdefiniowaną zmienną $adres_ip, zawierającą adres IP użytkownika pobrany z bazy. Można też tak przerobić skrypt żeby pobierał adres IP z zapytania HTTP, wtedy zamieniasz linijkę //2, na: "$adres_ip = $_SERVER["REMOTE_ADDR"];". Możesz też wywalić fragment zapytania (//1), odpowiedzialny za pobranie zawartości pola adres_ip z bazy danych. Nie wiem czy iptables ma możliwość dodawania reguł na określony czas, jeśli nie to będziesz musiał dodać drugą funkcję exec() z komendą dodającą do crona wyłączenie neta dla danej osoby po pewnym czasie. Można było by również utworzyć drugi skrypt i dodać go do crona, tak aby uruchamiał sieć automatycznie co godzinę (albo co 24 godz.) i odejmował godzinę (lub 24 godz.) od czas dostępu do neta, a jeśli ten będzie równy 1, dodatkowo zmieniał zawartość pola internet z bazy danych na nie. Było by to wtedy łatwiejsze w obsłudze bo nie trzeba by było ręcznie blokować dostępu do neta, dla każdego kompa. Jeśli chcesz żeby dostęp był przyznawany na cały czas dla konkretnego stałego adresu IP, bez logowania, to chyba prościej było by napisać skrypt generujący dhcp.conf oraz skrypt firewalla, a następnie resetujący serwer DHCP i wykonywający ponownie skrypt firewalla. -- Pozdrawiam Aleksander Kurczyk -- To UNSUBSCRIBE, email to debian-user-polish-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/610bd5321002200710lb41c5c0tbdeb99cb616f...@mail.gmail.com