iptables captive portal kurulumu

Başlatan emrahozel, 10 Kasım 2016 - 16:10:56

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

emrahozel

Selamlar,

Ubuntu server 12.04 üzerinde captive portal çalıştırıyorum. Fakat bazı eksiklerim var kural zinciri aşağıda ki gibidir.

IPTABLES=/sbin/iptables

# Create internet chain
# This is used to authenticate users who have already signed up
$IPTABLES -N internet -t mangle

# First send all traffic via newly created internet chain
# At the prerouting NAT stage this will DNAT them to the local
# webserver for them to signup if they aren't authorised
# Packets for unauthorised users are marked for dropping later
$IPTABLES -t mangle -A PREROUTING -j internet


# MAC address not found. Mark the packet 99
$IPTABLES -t mangle -A internet -j MARK --set-mark 99
################################

# Redirects web requests from Unauthorised users to logon Web Page
$IPTABLES -t nat -A PREROUTING -m mark --mark 99 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1

# Now that we've got to the forward filter, drop all packets
# marked 99 - these are unknown users. We can't drop them earlier
# as there's no filter table
$IPTABLES -t filter -A FORWARD -m mark --mark 99 -j DROP

# Do the same for the INPUT chain to stop people accessing the web through Squid
$IPTABLES -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
$IPTABLES -t filter -A INPUT -p udp --dport 53 -j ACCEPT
$IPTABLES -t filter -A INPUT -m mark --mark 99 -j DROP

# Enable Internet connection sharing
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -o ppp0 -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Bu kurallar üzerinde yapmak istediğim.

1- Traffik loglarını aktif etmek istiyorum. bunun için yeni bir chain mi oluşturmalıyım. Nasıl bir kural yazmalıyım.(Url loglarını squid ile görebilmekteyim)
2- Trafik loglarını rsyslog ile mongodb yada elasticsearche doğrudan insert edebilir miyim?
3- kullanıcı başına internet kullanımını görmek istiyorum.(Download ve Upload ) 'iptables -t mangle -L internet -n -v' komutunu yazdığımda paket kullanımı ve toplam internet kullanımını mb gb cinsinden görebiliyorum fakat test ettiğimde bu sonucun doğru olmadıgını gördüm net değer marklı internet chaininde gözüküyor fakat chanin içinde ip adreslerini göremiyorum. Bunun başka bir yolu varmı?
4- Ip tablesta bandwidth veya benzer istatistikleri görebileceğim üçüncü parti bir yazılım var mı? (yada doğrudan)

Cevaplarınız için şimdiden Teşekkürler.