iptables小案例
vi /usr/local/sbin/iptables.sh //加入以下內容
#! /bin/bash
ipt="/usr/sbin/iptables" = 定義一個變量
$ipt -F = 清空以前的默認規則
$ipt -P INPUT DROP = 把進入的數據包拒絕掉 INPUT=進入的數據包
$ipt -P OUTPUT ACCEPT =把轉發出去的數據包放行 OUTPUT=本機出去的數據包
$ipt -P FORWARD ACCEPT =默認放行FORWARD
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT =指定放行的狀態
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT = 指定放行的端口
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT = 放行80端口
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT = 放行21端口
icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROPwindows
寫完腳本後而且執行腳本,而後查看腳本的規則。bash
iptables -I INPUT -p icmp --icmp-type 8 -j DROP (能夠ping外網,可是禁止別人ping本機)網絡
首先準備兩臺機器(如果怕實驗失敗,可先快照下)tcp
在虛擬機hf上在添加一塊網卡(已添加過一塊虛擬網卡)spa
3.而後默認的是NAT模式,而後點擊完成命令行
4.在選擇添加的網卡,並在右側,選擇LAN區段視頻
選擇LAN區段,就至關於咱們給網卡鏈接到了內網的一個交換機上,這個交換機,用windows機器是沒法鏈接的,這樣這臺機器和那臺機器連上同一個內網的交換機,它們二者之間通訊便可。server
5.而後選擇LAN區段中,剛設置的名稱爲「內網」圖片
6.最後點擊肯定ip
7.選擇克隆的虛擬機hf-02,並添加網卡——>在這臺虛擬機上自己有一塊網卡,由於已經編輯過IP,因此咱們能夠直接禁掉這個網卡
8.而後hf-02添加一塊網卡,和hf添加網卡步驟同樣相同,並選擇LAN區段,中的「內網」,並確認
9.重啓兩臺虛擬機
10.打開hf虛擬機,輸入ifconfig命令,會看到添加了一個網卡eno33554984
11.這裏會看到eno33554984網卡,並無IP,並設置IP(新建那個當私網IP,你能夠跟跟視頻中的同樣,也能夠本身設置)
設定IP有兩種方法:
12.執行命令行ifconfig ens36 192.168.100.1/24,而後運行ifconfig命令,會看到eno33554984網卡有了IP
手動命令行ifconfig ens36 192.168.100.1/24,設置IP
13.可是eno33554984網卡的IP,在虛擬機一重啓,那麼IP就會沒了——>若想永久生效,就去編輯配置文件,但默認配置文件是不存在的,須要拷貝eno16777736網卡的配置文件,而後更改其中的內容
14.由於hf-02虛擬機沒法遠程,因此只能在虛擬機上操做
15.用ifconfig命令查看hf-02虛擬機的網卡,會發現也沒有IP地址
16.這裏若想徹底禁掉eno16777736網卡,可執行ifdown eno16777736命令(這一步可省略,若一直失敗的話,只要在設置好IP,兩個私網IP互通便可)
但有時會提示MAC地址不對,這時候進網卡配置文件中
17.給eno33554984網卡設置IP地址,命令行ifconfig ens36 192.168.100.100/24
18.而後用ifconfig命令,查看新建的網卡IP地址
19.這裏會看到hf-02虛擬機中的eno16777736網卡,可是是沒法ping通的——>若爲了保險這裏能夠執行命令ifdown eno16777736
20.這裏會看到hf-02虛擬機中的eno16777736網卡,可是是沒法ping通的——>若爲了保險這裏能夠執行命令ifdown eno16777736
21.這時候,兩臺虛擬機中新建網卡的IP互相嘗試互相ping通
22.這時hf機器上須要打開路由轉發 ——>想使用nat表,使用網絡的轉發,必須修改內核參數
23.將文件/proc/sys/net/ipv4/ip_forward默認改成1,打開端口轉發
24.在hf虛擬機上增長一條規則iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
25.實現100.0網段能夠上網,作一個欺騙
26.給hf-02設置網關(數據包過去,從hf到hf-02,從hf-02到hf,設置好默認網關)
27.而後hf-02嘗試是否能ping通192.168.202.130,這就意味着能夠和外網通訊了
28.設置DNS,在/etc/resolv.conf中設置,添加nameserver 119.29.29.29
29.這時候就能夠ping通外網了——>但物理機仍是沒法ping通hf-02的虛擬機IP地址
30.需求2:C機器只能和A通訊,讓C機器能夠直接連通B機器的22端口