2018-11-18 預習筆記

linux防火牆linux

Selinux是Redhat/CentOS系統特有的安全機制vim

更改selinux配置文件centos

[root@localQt ~]# vim /etc/selinux/config安全

將enforcing 更改成disabled,保存該配置文件後,重啓機器方可生效
網絡

使用命令getenforce得到當前selinux的狀態tcp

臨時關閉selinux的命令爲:setenforce 0,狀態爲Permissive 表示關閉spa

7.0前版本命令netfilter  7.0後的版本firwealld3d

中止rest

 #systemctl disable firewalldcode

關閉服務

# systemctl stop firewalld

安裝

yum install -y iptabkes-services

centos 6

iptables -nvL

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source
destination
  400  176K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
state RELATED,ESTABLISHED
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    1    52 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0
state NEW tcp dpt:22
    3   234 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source
destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0
reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 167 packets, 16963 bytes)
 pkts bytes target     prot opt in     out     source
destination
[root@localhost ~]# iptables -F; /etc/init.d/iptables save
iptables:將防火牆規則保存到 /etc/sysconfig/iptables:     [肯定]

-nvL 就是查看規則, -F 是把當前規則清除,但這個只是臨時的,重啓系統或者重啓 iptalbes 服務後還會加載已經保存的規則,因此須要使用 /etc/init.d/iptables save 保存一下規則,經過上邊的命令輸出咱們也能夠看到,防火牆規則保存在了/etc/sysconfig/iptables 你能夠查看一下這個文件。

 

netfilter 的5個表

1)iptalbes的三個表

filter 這個表主要用於過濾包的,是系統預設的表,這個表也是阿銘用的最多的。內建三個鏈INPUT、OUTPUT以及FORWARD。INPUT做用於進入本機的包;OUTPUT做用於本機送出的包;FORWARD做用於那些跟本機無關的包。

nat 主要用處是網絡地址轉換,也有三個鏈。PREROUTING 鏈的做用是在包剛剛到達防火牆時改變它的目的地址,若是須要的話。OUTPUT鏈改變本地產生的包的目的地址。POSTROUTING鏈在包就要離開防火牆以前改變其源地址。該表阿銘用的很少,但有時候會用到。

mangle 這個表主要是用於給數據包打標記,而後根據標記去操做哪些包。這個表幾乎不怎麼用。除非你想成爲一個高級網絡工程師,不然你就沒有必要花費不少心思在它上面

iptables 語法

 查看規則以及清除規則

# iptables -t nat -nvL

-t 後面跟表名,-nvL 即查看該表的規則,其中-n表示不針對IP反解析主機名;-L表示列出的意思;而-v表示列出的信息更加詳細。

# iptables -F
# iptables -Z

不加-t默認是針對表filter來操做的,-F 表示把全部規則所有刪除;-Z表示把包以及流量計數器置零。

# iptables -A INPUT -s 10.72.11.12 -p tcp --sport 1234 -d 10.72.137.159 --dport 80 -j DROP

這就是增長了一條規則,省略-t因此針對的是filter表。-A 表示增長一條規則,另外還有-I 表示插入一條規則,-D刪除一條規則;後面的INPUT即鏈名稱,還能夠是OUTPUT或者FORWORD;-s 後跟源地址;-p 協議(tcp, udp, icmp); --sport/--dport 後跟源端口/目標端口;-d 後跟目的IP(主要針對內網或者外網);-j 後跟動做(DROP即把包丟掉,REJECT即包拒絕;ACCEPT即容許包)。

FORWORD鏈的應用

-A/-D :增長刪除一條規則;

-I :插入一條規則,其實跟-A的效果同樣;

-p :指定協議,能夠是tcp,udp或者icmp;

--dport :跟-p一塊兒使用,指定目標端口;

--sport :跟-p一塊兒使用,指定源端口;

-s :指定源IP(能夠是一個ip段);

-d :指定目的IP(能夠是一個ip段);

-j :後跟動做,其中ACCEPT表示容許包,DROP表示丟掉包,REJECT表示拒絕包;

-i :指定網卡

-D 後跟鏈名,而後是規則num,這個num就是查看iptables規則時第一列的值。

想刪除某一條規則時,又不容易掌握當時建立時的規則

# iptables -nvL --line-numbers

根據編號刪除規則

iptables常常用到:-P

# iptables -P INPUT DROP

-P後面跟鏈名,策略內容或者爲DROP或者爲ACCEPT,默認是ACCEPT。

這個策略一旦設定後,只能使用 iptables -P INPUT ACCEPT 才能恢復成原始狀態,而不能使用-F參數。

nat表的應用

# echo "1" > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

第一個命令涉及到了內核參數相關的配置文件,它的目的是爲了打開路由轉發功能,不然沒法實現咱們的應用。第二個命令則是iptables對nat表作了一個IP轉發的操做,-o 選項後跟設備名,表示出口的網卡,MASQUERADE表示假裝的意思。

保存以及備份iptalbes規則

# service iptables save

會提示防火牆規則保存在了/etc/sysconfig/iptables文件內,這個文件就是iptables的配置文件了,

須要把防火牆全部規則都清除,使用 iptables -F 命令

# service iptables stop
iptables:清除防火牆規則:                                 [肯定]
iptables:將鏈設置爲政策 ACCEPT:nat filter                [肯定]
iptables:正在卸載模塊:                                   [肯定]

用來備份防火牆規則的命令:

# sh /usr/local/sbin/iptables.sh
# iptables-save > myipt.rule
# cat myipt.rule

使用 iptables-save 命令重定向到一個文件裏

# iptables-restore < myipt.rule
相關文章
相關標籤/搜索