我使用的機器是Asus RT-N16,是刷了
http://code.google.com/p/twtomato/downloads/list
這裡面的版本
tomato-K26USB-1.28.RT-MIPSR2-093-AIO-cht.trx Tomato Shibby R2 093 AIO 正體中文版 (RT-N16 適用)
因為我家裡有一台監視器,可以網路遠端連到該ip去監看的,
但他的連線數不能超過6,超過6個人同時連入就會造成當機
所以我希望限制他的ip或是mac位置只能有6個連線數,超過就不能再連線
想要請教一下該如何能做到啊?
還是說沒有這個功能呢? 因為我找了一晚上都搜不到相關的資料
麻煩各位高手了,謝謝
iptables -A INPUT -p tcp --syn -d 192.168.1.123 --dport 12345 -m connlimit --connlimit-above 6 -j REJECT
若不知於何處輸入指令, 請參考以下網頁
http://cogo.wordpress.com/2009/11/29/11-nat-with-a-linksys-wrt54gl-router-with-tomato-firmware/
因為我不確定監視器是走 tcp 還是udp,所以我兩個都設置了
# limit camera conection
iptables -A INPUT -p tcp --syn -d 192.168.1.51 --dport 80 -m connlimit --connlimit-above 3 -j REJECT
iptables -A INPUT -p udp --syn -d 192.168.1.51 --dport 80 -m connlimit --connlimit-above 3 -j REJECT
我先測試如果限制三個連線數後,還能不能再連線
我用手機軟體 ipcamviewer 分成三個視窗並打入ip,之後再開電腦也登入監看
結果發現仍然可以登入4線也@@
請問還有其它辦法嗎?,或是有什麼辦法能夠查詢我那個連線數的指定是否有效
感謝囉
前一位網友答案有錯(那是監視器主機就是rt-n16自己的狀況),請您把INPUT換成PREROUTING試試看。
另外語法也有錯,這兩條規則根本不會運作。應該是-p tcp --syn --dport 80 -d xxx.xxx.xxx.xxx 才對。原回文iptables把-d插到tcp的syn前,語法會出現錯誤導致規則無法生效。
如果還是有問題,在PREROUTING後面加入 -t mangle,-d後面的ip位置改為監視器外部連線時的ip即可。
不知道ip的話,把-d xxx.xxx.xxx.xxx這一段拿掉就好了。
(拿掉會有副作用,就是內部對外連相同port時,也會有相同數量限制出現)
完整規則如下。
iptables -A PREROUTING -p tcp --dport 80 --syn -d 192.168.1.51 -m connlimit --connlimit-above 3 -j REJECT
或
iptables -t mangle -A PREROUTING -p tcp --dport 80 --syn -d 123.123.123.123 -m connlimit --connlimit-above 3 -j DROP
我個人比較喜歡用後者。
那個-j後面用REJECT(拒絕連線)或DROP(丟棄封包)都是可以的。
請注意全句語法中的所有字,其大小寫是不一樣的,請勿把REJECT寫成reject。
另外請樓主注意UDP沒有SYN flag,把--syn拿掉規則才會正常可以使用,不然規則還是會失效不會有作用。
內文搜尋

X