Ah, więc o to ci chodzi. Nie ma jak jasno zadać pytanie
Poniższy kod pozwoli na dostęp 'uzytkownikowi' tylko do wp.pl (212.77.100.101).
iptables -A OUTPUT -m owner --uid-owner uzytkownik -d '212.77.100.101' -j ACCEPT
iptables -A INPUT -m owner --uid-owner uzytkownik -s '212.77.100.101' -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner uzytkownik -j REJECT
iptables -A INPUT -m owner --uid-owner uzytkownik -j REJECT
Jest jednak kilka "ale":
- Przydałoby się dodać także dostęp do sieci lokalnej.
- Użytkownik musi mieć także dostęp do używanych w jego systemie DNSów, inaczej wejdzie tylko po IP.
- Wreszcie strona może używać zewnętrznych zasobów (np. linkować jquery ze stron google).
Wchodzi na to, że trzeba się trochę namęczyć, żeby w ten sposób dobrze ograniczyć dostęp do jednej wybranej strony.
DNS możesz dla ułatwienia ustawić sobie własny np. na routerze, wtedy będzie częścią sieci lokalnej.
Albo ustawić go na maszynie na jakiś znany publiczny, np. 8.8.8.8 google (jeśli lubiesz być szpiegowany).
Lub po prostu wklepać te od swojego ISP w regułkę, o ile nie zmieniają się losowo (dla neostrady: 194.204.159.1,194.204.152.34).
Regułki mogą więc wyglądać tak:
iptables -A OUTPUT -m owner --uid-owner uzytkownik -d '212.77.100.101,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,194.204.159.1,194.204.152.34' -j ACCEPT
iptables -A INPUT -m owner --uid-owner uzytkownik -s '212.77.100.101,192.168.0.0/16,172.16.0.0/12,10.0.0.0/8,194.204.159.1,194.204.152.34' -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner uzytkownik -j REJECT
iptables -A INPUT -m owner --uid-owner uzytkownik -j REJECT
Można jeszcze dla wybranych adresów ograniczać po portach: 80 http, 443 https, ale stworzenie odpowiednich regułek pozostawiam już tobie.