平常運維(四)

一 iptables filter表案例

    一、 bash

    #!/bin/bash    //腳本語言的默認起始行tcp

    ipt="/usr/sbin/iptables"    //定義變量spa

    $ipt -F  //清空原有規則ip

    $ipt -P INPUT DROP  //默認丟棄入方向的包路由

    $ipt -P OUTPUT ACCEPT  //默認接收出方向的包table

    $ipt -P FORWARD ACCEPT  登錄

    $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   // 0-24網段的22端口放行配置

    $ipt -A INPUT -p tcp --dport 80 -j ACCEPT   //80端口數據包放行iptables

    $ipt -A INPUT -p tcp --dport 21 -j ACCEPT  //21端口數據包放行

二 iptables nat表應用

    一、讓B機器鏈接外網

        1)準備好兩臺機器,給兩臺機器分配網卡

        我已有兩臺機器,克隆3充當A機器的角色,克隆1充當B機器的角色

    2)給A機器分配網卡

    當前個人A機器已有一塊外網網卡,還須要新增一塊內網網卡

完成後,再更改網卡設置

給新網卡選擇新加的LAN區段1,至關於給A機器連上了一臺內網交換機,

給B機器也進行相同的操做,這樣AB機器就處於同一內網環境中了,注意須要將B機器原來的外網網卡禁用,以下圖

準備完畢,啓動AB兩臺機器

    3)給A機器的內網網卡添加IP

        # ifconfig ens37 192.168.100.1/24

這種方法添加的IP是臨時的,一旦設備重啓,IP就沒有了,若是想永久生效,須要拷貝並修改配置文件

再用一樣的方法給B機器添加IP

至此,準備 OK

    4)在A機器上打開路由轉發

        打開路由轉發須要將文件/proc/sys/net/ipv4/ip_forward文件的內容從默認的0修改成1,以下:

    5)給A機器增長一條規則

        # iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

    這條命令是給A機器作一個欺騙,使192.168.100.0這個網段的機器都能上網

    6)B機器上設置網關

        給B機器增長默認網關192.168.100.1,後,再讓B機器ping外網的網關192.168.133.1就能ping通,意味着B機器能上網了。

二、讓C機器能遠程鏈接B機器的22端口

    前面的實驗中C機器是能夠鏈接A機器的,但不能直接鏈接B機器,如今咱們來實現讓C機器也能遠程連上B機器,這裏要使用到端口映射

    1)給A機器打開路由轉發

        打開路由轉發須要將文件/proc/sys/net/ipv4/ip_forward文件的內容從默認的0修改成1,以下:

    2)刪除需求1中寫的規則,以避免影響新寫的規則

    3)新增兩條規則

        # iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22   //將從C機器來的包經A機器的1122端口轉發到B機器的22端口

            # iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130  //將B機器返回的包發送到A機器上

    4)B機器上設置網關

        給B機器增長默認網關192.168.100.1後,再讓B機器ping外網的網關192.168.133.1就能ping通,意味着B機器能上網了,同時從C機器上也能遠程登陸B機器的22端口了

相關文章
相關標籤/搜索