IPtables防火墻使用技巧(超實用)
IPtables防火墻使用技巧:
最近架設了一臺LINUX的小型服務器,因為需要把LINUX的機子作為軟路由器來使用,所以把使用的IPtables防火墻使用的經驗談一下。iptables的功能十分的強大。例如IP轉發和偽裝防御DoS,掃描和嗅探試的攻擊等等。在這里就不闡述了我的系統環境,簡易配置如下
redhat 7.2
adsl 2m
8139fast 網卡
1、linux如何使用軟路由功能:
說到這里,大家可能會想,只要在/etc/rc.d/rc.local加上cat 1 > /proc/sys/net/ipv4/ip_forward就可以了,讓linux具有ip_forward的功能。但你會發現,就算這樣設置你局域網內的其他計算機還是不能共享上網。這是為什么?因為當你只有一個公網的ip時,你就必須用到iptables的IP偽裝功能,把IP的偽裝成你公網的IP。那怎么IPtables防火墻實現呢?你可以這樣:
- iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
這樣就可以把你所以出去的IP地址偽裝成ppp0的IP地址(因為我的ADSL如有不同可以修改)。
2、不開放端口下,啟用http服務、對外服務
不想開放我的端口,但我要在我的計算機上啟用http服務,并對外服務。因為你不想開放除了80以外的端口,你可以這樣:
- iptables –P INPUT –j DROP
我們用-P來攔截全部的通信,然后在來允許哪些端口可以被使用你可以這樣寫:
- iptables –A INPUT –p tcp –dport 80 –j ACCEPT
你可以適當的依照這樣的格式來添加自己想開放的端口 當然要是你感覺這樣不是很好的管理你也可以新建一個iptables表 你可以這樣做:
- iptables –N test (新建一個test表)
- iptables –A test DROP
- iptables –A test –p tcp –dport 80 –j ACCEPT(允許80端口被訪問)
- iptables –A INPUT –j test
- iptables –A OUTPUT –j test
- iptables –A FORWARD –j test
(這3條的意思指讓INPUT OUTPUT FORWARD都依照test的設置)
3、在內網的計算機上架設ftp服務
如果是在內網的計算機上架設ftp服務該怎么做呢?這就又要用到iptables 的又一個強大的功能——端口映射了你可以這樣:
- iptables -t nat -A PREROUTING -p tcp -m tcp --dport 25 -j DNAT --to-destination
- 192.168.0.6:21
- iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.6 -p tcp -m tcp --
- dport 25-j SNAT --to-source 192.168.0.1
上面2句話的意思是把服務器的25端口映射到192.168.0.6這臺計算機上。
4、不想讓別人可以PING到我
這大約是做iptables防火墻用到最多的一種了 你可以在iptables寫這句話:
- iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP
要是你前面是新建了一個新的test表,那也可以這樣寫。
- iptables -A test -p icmp --icmp-type echo-request -i ppp0 -j
- DROP
這句話就是不允許人家PING我,因為ping用到的是icmp協議。因為icmp沒有端口可言,所以也不需要指定端口了。
好了!這就是IPtables防火墻使用的幾種比較基本的用法。這里再介紹幾iptbales常用的一些指令。
iptables –F 清空所有的iptables的規則設置。
- /sbin/iptables-save > iptables – save
這樣,把你的規則保存下來。因為你所有設置的規則再重新啟動后都不會被保存,所以你必須寫一個腳原本讓他開機運行。這樣,你就可以用這指令來保存你的規則, 然后讓他開機自動運行就可以了。IPtables防火墻使用技巧就介紹到這里了,其他使用方法可以參考本站其他資料~
【編輯推薦】