一、詳述iptables五鏈
iptables是linux的防火墻管理工具,真正實現防火墻功能的是netfilter,netfilter是Linux內核中實現包過濾的內部結構。
iptables具有四表五鏈的概念。
四表:
filter表:過濾數據包;
nat表:用于網絡地址轉換(ip,端口);
managle表:修改數據包的服務類型,ttl,并且可以配置路由實現QOS;
RAW表:決定數據包是否被狀態跟蹤機制處理。
五鏈:
INPUT鏈:進來的數據包應用此規則鏈中的策略;
OUTPUT鏈:外出的數據包應用此規則鏈中的策略;
FORWARD鏈:轉發數據包時應用此規則鏈中的策略;
PREROUTING:對數據包做路由選擇前應用此規則鏈中的策略;
POSTROUTING:對數據包做路由選擇后應用此規則鏈中的策略;
四表五鏈的圖示如下:
二、實現iptables多端口匹配、連接追蹤、字符串匹配、時間匹配、并發連接限制、速率匹配、報文狀態匹配等應用
[root@node001 ~]# iptables -A FORWARD -p tcp --dport 80 -j ACCEPT #iptables匹配單個端口
[root@node001 ~]# iptables -A INPUT -p tcp -m multiport --source-port 22,80,110,111 #iptables匹配多個不連續的端口
[root@node001 ~]# iptables -A INPUT -p tcp -m multiport --source-port 110:118 #iptables匹配多個連續的端口
[root@node001 ~]# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT #iptables連接追蹤
[root@node001 ~]# iptables -A OUTPUT -s 10.3.2.93 -d 10.3.0.0/16 -p tcp --sport 80 -m string --algo bm --string "violence" -j REJECT #iptables字符串匹配設置
[root@node001 ~]# iptables -A INPUT -s 10.3.0.0/16 -d 10.3.0.0 -p tcp --dport 80 -m time --timestart 08:30 --weekdays Sat,Sun -j DROP #iptables時間匹配設定
[root@node001 ~]# iptables -I INPUT -d 10.3.2.93 -p icmp --icmp-type 8 -m limit --limit 3/minute --limit-burst 5 -j ACCEPT #iptables速率匹配設定
[root@node001 ~]# iptables -A INPUT -d 10.3.2.93 -p tcp --dport 21 -m connlimit --connlimit-above 2 -j REJECT #iptables并發連接限制設定
[root@node001 ~]# iptables -A INPUT -d 10.3.2.93 -p tcp -m multiport --dports 22,80 -m state NEW,ESTABLISHED -j ACCEPT #iptables報文狀態匹配設定
三、實現iptables之SNAT源地址修改及DNAT目標地址修改和PNAT端口修改等應用
[root@node001 ~]# iptables -t nat -A POSTROUTING -j SNAT --to-source 10.3.2.93 #iptables設定SNAT
[root@node001 ~]# iptables -t nat -A PREROUTING -d 10.3.2.93 -p tcp --dport 22 -j DNAT --to-destination 192.168.88.188:22 #iptables設定DNAT
四、 簡述sudo安全切換工具,及詳細講解visudoer
sudo:能夠讓獲得授權的用戶以另外一個用戶的身份運行指定的命令。授權文件可使用命令visudo編輯,實際上編輯的是/etc/sudoers文件的內容。
編輯visudo,添加如下命令:
以上設定允許zhangge用戶使用root管理員的所有命令。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/99208