標籤彙整:iptables
高效率的iptables GEOIP模組
手邊有台vpn server上面用iptables跑policy routing,連往大陸地區就從特定interface出去,之前的做法是到apnic取得大陸地區最新的ip list後,再利用script一行一行餵進去iptables裡面,即使做過CIDR merge後,還是快要達到800筆record,每每上線使用者一多、或是流量變大時機器的loading就會增加,這種作法不用分析也大概猜得出來,iptables內部作rule match是採用list match,當rule量很大的時候,效能當然會變差。
在Tomato firmware下直接連線到ADSL Modem
Tomato Firmware支援許多搭載broadcom晶片的無線網路分享器,在網路上廣受好評,我也是他的愛用者之一。一般家庭擁有無線網路的家庭最常見的網路配置方式應該如下圖所示: 如此的架構下,無線網路分享器下面的機器便無法直接連線進去ADSL modem中去看一些資訊(圖中192.168.1.1乃中華電信modem預設的IP),要解決這個問題只需幾個簡單的動作。 使用瀏覽器進入Tomato管理介面 到Administration -> Scripts -> Init標籤頁面,輸入: ifconfig vlan1:0 192.168.1.2 netmask 255.255.255.0 接著到Administration -> Scripts ->Firewall標籤頁面,輸入: /usr/sbin/iptables -I POSTROUTING -t nat -o vlan1 -d 192.168.1.0/24 -j MASQUERADE 最後使用瀏覽器,看看是否能成功連線至Modem設定頁面。
使用iptables來抵擋brute force ssh攻擊
每天都會有script kids到處亂掃機器,嘗試使用一些簡單常見的組合,看看能不能瞎貓碰到死號子,成功矇進去機器裡面,相信這是手邊有機器的朋友們共同的遭遇,打開log應該都是一整片try and error的紀錄。雖然透過這種方式成功的機會實在不高,但是機器三不五時就讓人家這樣try還是很不爽,有時候遇到機車一點的,還用個超長字典檔來嘗試,導致系統loading增高,感覺實在不好受。 網路上有許多現成的script或是套件來幫忙阻擋,雖然多了一些比較彈性的設定以及美美的統計,但是對我來說,只要能達到阻擋目的即可,所以我選擇不安裝額外套件的方式,採取已經就存在的iptables中的recent module來抵擋。只要短短兩行就搞定了: iptables -A INPUT -p tcp –dport 22 -m state –state NEW -m recent –set –name SSH -j ACCEPT iptables -A INPUT -p tcp –dport 22 -m recent –update –seconds 60 –hitcount 4 –rttl –name … 繼續閱讀
