Tomato 如何設定限制某ip的連線數?

我使用的機器是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個連線數,超過就不能再連線

想要請教一下該如何能做到啊?

還是說沒有這個功能呢? 因為我找了一晚上都搜不到相關的資料

麻煩各位高手了,謝謝
2012-09-15 1:37 發佈
可用iptables指令達成, 在Tomato->Administration->Script->Firewall處輸入以下指令(假設監視器的IP是192.168.1.123, 連入port是12345)

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後面?

前一位網友答案有錯(那是監視器主機就是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拿掉規則才會正常可以使用,不然規則還是會失效不會有作用。
明月下的清風 wrote:
監視器主機在rt-n...(恕刪)


您好,再次感謝高手回答

我的監視器設定如下




然後我在RTN-16裡面,照著指定打進去後,發現仍然手機與電腦能同時連入192.168.1.51這個ip裡面
我是從外部打122.117.xx.35 連進去監視器的,為了實驗的方便,我故意把連接數都設定為1
但是仍然夠能同時使用兩台機器連入


麻煩高手了 謝謝

內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?