1.selinux 關閉mysql
vim /etc/sysconfig/selinux 設置方法: 1 #SELINUX=enforcing #註釋掉 2 #SELINUXTYPE=targeted #註釋掉 3 SELINUX=disabled #增長 4 :wq #保存,關閉。 5 shutdown -r now #重啓
2.iptables 內網關閉,外網打開,大併發狀況下,不能開iptables,影響性能,硬件防火牆。linux
iptables 工做流程小結web
1.防火牆是一層層過濾的。實際是按照配置規則的順序從上到下,從前到後進行過濾的。sql
2.若是匹配上規則,即明確代表是阻止仍是經過,此時數據包就再也不向下匹配新規則了。shell
3.若是全部規則中沒有明確代表是阻止仍是經過這個數據包,也就是沒有匹配上規則,向下進行匹配,直到匹配默認規則獲得明確的阻止仍是經過。vim
4.防火牆的默認規則是對應鏈的全部的規則執行完纔會執行的。服務器
5.iptables 配置實戰:網絡
iptables -V 查看iptables 版本併發
man iptables 查看iptables幫助ssh
查看防火牆的狀態
/etc/init.d/iptables status
iptables -nL
6.查看liunx內核默認加載模塊
lsmod |egrep "nat|filter"
加載以下模塊到linux內核
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
7.iptables 命令
-n 數字
-L 列表
-F 清除全部規則 ,只留下默認規則,容許全部經過。
-X 刪除用戶自定義的鏈
-Z 鏈的計數器清零
-t 指定表
--line-numbers 顯示序號
-A添加規則到指定鏈的結尾,最後一條
-I添加規則到指定鏈的開頭,是第一條
-D 刪除規則 ##刪除指定規則 iptables -D INPUT -p tcp --dport 1000 -j ACCEPT
這個區別的意義在乎,規則是由上先下執行匹配;能夠應用與防DDOS。
測試規則端口是否生效,能夠再 cmd 上 telnet 10.0.0.18 80 看是否能鏈接。
iptables -I INPUT 2 -p tcp --dort 1000 -j ACCEPT (2爲第二行,插入在第二行的前面)
-p協議 (all,tcp , udp,icmp). 默認all
--dport目的端口
--sport 源端口
-j (jump)處理的行爲
-s 指定源地址
-d 指定目的地址
-i INPUT 匹配進入的網卡接口
-o OUTPUT 匹配出去的網卡接口
==========================
基本的處理行爲:ACCEPT(接受),DROP(丟棄),REJECT(拒絕)
8. 查看某個服務的端口
netstat -lntup|grep mysql
netstat -lntup|grep ssh
拒絕ssh遠程鏈接(加了這條沒法用xshell進行遠程鏈接了),iptables默認的就是filter表,能夠不指定,下面兩條相等。
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP
iptables -A INPUT -p tcp --dport 22 -j DROP
-t指定filter表(不加這條,默認也是filter), -A增長規則,-p指定協議 --dport 指定端口,-j指定行爲 DROP 爲拒絕。
斷掉後,得在遠程主機,刪除這條規則,或者清空規則才能夠進行遠程鏈接。
9.禁止網段連入
iptables -A INPUT -i etho -s 10.0.0.0/24 -j DROP
10.匹配端口範圍(用冒號鏈接)--最佳寫法
iptables -I INPUT -p tcp --dport 8080:8090 -j ACCEPT
還能夠用列表形式添加多端口匹配 -m multiport
iptables -I INPUT -p tcp -m multiport --dport 21,80,8088,8080,3306 -j ACCEPT ,第一天容許,下面的不DROP 規則不匹配;
11.禁止ping (--imcp type8爲ping)
iptables -I INPUT -p icmp --icmp-type 8 -j DROP
12 匹配網絡狀態
-m state --state
NEW :已經或將啓動新的鏈接
ESTABLISHED : 已經創建的鏈接
RELATED:正在啓動的新鏈接
INVALID:非法或沒法識別的
13.容許關聯的數據包經過(web服務不要使用FTP服務)
#others RELATED ftp協議
#容許關聯的狀態包
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
14.生產環境中iptables 配置
#清除全部規則 ipatbles -F #清除用戶自定義的鏈 iptables -X #清除當前全部鏈的計數器 iptables -Z #容許ssh遠程鏈接端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 容許網卡迴環接口(服務器本機) iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #設置DROP掉FORWARD,INPUT鏈,容許OUTPUT鏈 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT #容許指定網段經過(外網網段與內網網段) iptables -A INPUT -s 211.154.152.0/24 -p all -j ACCEPT iptables -A INPUT -s 192.168.152.0/24 -p all -j ACCEPT #容許對外提供服務80端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #容許icmp類型經過(全部ip都能ping) iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT # 容許關聯的包經過(通常應用與ftp) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #永久保存防火牆配置,預防重啓後失效 /etc/init.d/iptables save 或用重定向方式保存(不多用) iptables-save >/etc/sysconfig/iptables
生產環境中
使用iptables -F 切忌(特別是託管機房)
要先執行
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
/etc/init.d/iptables save
而後執行
iptables -F
要否則,沒有規則,所有是drop ,ssh 斷開了,全部鏈接失效,很嚴重;
15.生產環境中iptables 維護
#編輯規則 vim /etc/sysconfig/iptables #加入想要的規則 -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT /etc/init.d/iptables reload ##改DROP 必定要線下先測試一通,避免把本身DROP掉 #封IP,第一行封,範圍小,影響不大 iptables -I INPUT -p tcp -s 10.0.0.106 --dport 80 -j DROP
16 nat 表的核心功能: IP及端口的映射轉換
1.共享上網
2.端口映射
17
擴展匹配 指定-m選項,表示用什麼模塊來匹配,如: -m state --state NEW,ESTABLISHED,RELATED 表示用state模塊來匹配當前鏈接狀態爲這三種狀態的鏈接 -m iprange --src-range 用iprange模塊匹配來源的ip地址範圍 --dst-range 用iprange模塊匹配目的的ip地址範圍 -m multiport --source-ports 用multiport模塊來匹配來源的端口範圍 --destination-ports 用multiport模塊來匹配目的的端口範圍咱們看以下一條例子來解讀:-A INPUT -p tcp -m iprange --src-range 121.21.30.36-121.21.30.100 -m multiport --destination-ports 3326,3327,3328 -m state --state NEW -j ACCEPT這表示來自121.21.30.36-121.21.30.100這個地址範圍的,請求端口爲3326,3327,3328而且是新建的鏈接,都給予放行