平常運維二

規則netfilter5表5鏈介紹

 

https://www.cnblogs.com/metoy/p/4320813.htmlhtml

1.filter表——三個鏈:INPUT、FORWARD、OUTPUT
做用:過濾數據包  內核模塊:iptables_filter.
2.Nat表——三個鏈:PREROUTING、POSTROUTING、OUTPUT
做用:用於網絡地址轉換(IP、端口) 內核模塊:iptable_nat
3.Mangle表——五個鏈:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
做用:修改數據包的服務類型、TTL、而且能夠配置路由實現QOS內核模塊:iptable_mangle(別看這個表這麼麻煩,我們設置策略時幾乎都不會用到它)
4.Raw表——兩個鏈:OUTPUT、PREROUTING
做用:決定數據包是否被狀態跟蹤機制處理  內核模塊:iptable_raw
(這個是REHL4沒有的,不過不用怕,用的很少)shell

規則鏈:windows


1.INPUT——進來的數據包應用此規則鏈中的策略
2.OUTPUT——外出的數據包應用此規則鏈中的策略
3.FORWARD——轉發數據包時應用此規則鏈中的策略
4.PREROUTING——對數據包做路由選擇前應用此鏈中的規則
(記住!全部的數據包進來的時侯都先由這個鏈處理)
5.POSTROUTING——對數據包做路由選擇後應用此鏈中的規則
(全部的數據包出來的時侯都先由這個鏈處理)centos

 

 

 

1.查看iptables規則bash

[root@bogon ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
80697  196M 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
 105K   16M REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    0     0 DROP       tcp  --  *      *       192.168.1.1          192.168.1.2          tcp spt:123 dpt:80

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 301 packets, 31573 bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@bogon ~]# 

2.重啓iptables 網絡

[root@bogon ~]# service iptables restart
Redirecting to /bin/systemctl restart  iptables.service
[root@bogon ~]# 

3.iptables保存的文件tcp

[root@bogon ~]# cat /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
[root@bogon ~]# 

4.清空規則(零時清空),須要真正的清空須要執行保存命令this

[root@bogon ~]# iptables -F
[root@bogon ~]#

5.保存規則3d

[root@bogon ~]# service iptables save

6.重啓服務將以前的規則加載回來rest

[root@bogon ~]# service iptables restart

7.默認操做的都是filter 表

[root@bogon ~]# iptables -t filter -nvL
Chain INPUT (policy ACCEPT 554 packets, 62984 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 105 packets, 10485 bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@bogon ~]# 

8.查看nat表的規則

[root@bogon ~]# iptables -t nat -nvL    
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

9.iptables -Z 清空

[root@bogon ~]# iptables -Z

10.iptables -A INPUT -s 192.168.1.1 -p tcp --sport 123 -d 192.168.1.2 --dport 80 -j DROP 或 REJECT

[root@bogon ~]# iptables -A INPUT -s 192.168.1.1 -p tcp --sport 123 -d 192.168.1.2 --dport 80 -j DROP
[root@bogon ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   69  4988 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           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
  564 59695 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited
    0     0 DROP       tcp  --  *      *       192.168.1.1          192.168.1.2          tcp spt:123 dpt:80

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 4 packets, 592 bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@bogon ~]# 

11.iptables -A添加  -I 插入 刪除-D

12.顯示規則行號

[root@bogon ~]# iptables -nvL --line-number

13.刪除規則

[root@bogon ~]# iptables -D INPUT 7

14.-P設置默認策略

iptables filter表小案例

15.建立shell腳步

#!/bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 10.21.95.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 22 -j ACCEPT

 

[root@bogon ~]# sh /usr/local/sbin/iptables.sh 
[root@bogon ~]# iptables -nvL
Chain INPUT (policy DROP 29 packets, 3013 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   28  2056 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       10.21.95.0/24        0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 19 packets, 1780 bytes)
 pkts bytes target     prot opt in     out     source               destination         
[root@bogon ~]# 

16.當前主機能夠ping通外部機器,外部機器拼不通當前機器

[root@bogon ~]# iptables -A INPUT -p icmp --icmp-type 8 -j DROP
[root@bogon ~]# 

  

[root@bogon ~]# ping 10.21.95.218
PING 10.21.95.218 (10.21.95.218) 56(84) bytes of data.
64 bytes from 10.21.95.218: icmp_seq=1 ttl=64 time=0.402 ms
64 bytes from 10.21.95.218: icmp_seq=2 ttl=64 time=0.332 ms
^C
--- 10.21.95.218 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.332/0.367/0.402/0.035 ms
[root@bogon ~]# 
C:\Users\dell>ping 10.21.95.122

正在 Ping 10.21.95.122 具備 32 字節的數據:
請求超時。
請求超時。
請求超時。

  

[root@bogon ~]# iptables -D INPUT -p icmp --icmp-type 8 -j DROP 
[root@bogon ~]# 

iptables nat表應用(上)

 

1.準備兩臺機器,01和02

第一步,給01機器添加一起網卡

第二步添加一個區段叫自定義名字

第三步選中自定義名字

01的設置結果

02機器進去統一選擇自定義名字,一樣Lan區段

第四步啓動兩臺機器

第五步給01的新網卡設置IP(零時),若是永久生效須要更改ens37的配置文件。

第六步把02機器的ens33網卡ifdown掉

執行ifdown ens33命令,只保留ens37內網網卡

第七步一樣給02的ens37設置ip

第八步打開01機器的內網轉發

第九步01上增長一條規則讓100.0網段可以上網。

第10步設置02的網關

再次ping133.1發現能ping通了

 

設置dns讓它能夠訪問網絡

咱們用windows  ping100.100仍是不能連通

 iptables規則備份和恢復

 

 firewalld的9個zone

1.關閉iptables開啓firewalled

[root@centos-01 ~]# systemctl disable iptables 
[root@centos-01 ~]# systemctl stop iptables   
[root@centos-01 ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@centos-01 ~]# 
[root@centos-01 ~]# systemctl start firewalld
[root@centos-01 ~]# 

firewalld關於zone的操做

firewalld關於service的操做

相關文章
相關標籤/搜索