1. 程式人生 > >Linux:iptables的基本命令以及地址偽裝

Linux:iptables的基本命令以及地址偽裝

IPTABLES

IPTABLES 是與最新的 3.5 版本 Linux 核心整合的 IP 資訊包過濾系統。如果 Linux 系統連線到因特網或 LAN、伺服器或連線 LAN 和因特網的代理伺服器, 則該系統有利於在 Linux 系統上更好地控制 IP 資訊包過濾和防火牆配置。
防火牆在做資訊包過濾決定時,有一套遵循和組成的規則,這些規則儲存在專用的信 息包過濾表中,而這些表整合在 Linux 核心中。在資訊包過濾表中,規則被分組放在我們所謂的鏈(chain)中。而netfilter/iptables IP 資訊包過濾系統是一款功能強大的工具,可用於新增、編輯和移除規則。
Iptables 是用來設定、維護和檢查Linux核心的IP包過濾規則的

一·iptables的開啟服務

[root@localhost ~]# systemctl stop firewalld   ##關閉火牆
[root@localhost ~]# systemctl disable firewalld    ##開機自動關閉
[root@localhost ~]# systemctl start iptables.service    ##開啟iptables服務
[root@localhost ~]# systemctl enable iptables.service     ##開機自動開啟

這裡寫圖片描述

二·iptables的基本命令

[root@localhost
~]# iptables -nL ##列出所有策略 [root@localhost ~]# iptables -F ##清空所有策略 [root@localhost ~]# iptables -nL ##再次列出 [root@localhost ~]# service iptables save ##儲存規則資訊 iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] ##儲存在/etc/sysconfig/iptables 檔案中 [root@localhost ~]# cat /etc/sysconfig/iptables ##檢視iptables配置檔案

這裡寫圖片描述
這裡寫圖片描述

[root@localhost ~]# iptables -t mangle -nL    ##檢視mangle表策略
[root@localhost ~]# iptables -t nat -nL       ##檢視nat表策略

這裡寫圖片描述

[root@localhost ~]# systemctl start httpd    ##開啟服務
[root@localhost ~]# iptables -P INPUT ACCEPT    ##允許訪問
[root@localhost ~]# iptables -nL   ##列出

這裡寫圖片描述
真機測試:
這裡寫圖片描述
server測試:
這裡寫圖片描述

[root@localhost ~]# iptables -A INPUT -s 172.25.254.71 -p tcp --dport 80 -j ACCEPT      ##允許真機ip訪問,埠為80的http
[root@localhost ~]# iptables -nL
ACCEPT     tcp  --  172.25.254.71        0.0.0.0/0            tcp dpt:80
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j REJECT    ##拒絕埠為80的http
[root@localhost ~]# iptables -nL
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 reject-with icmp-port-unreachable

這裡寫圖片描述
這裡寫圖片描述
真機測試:
這裡寫圖片描述
server測試:
這裡寫圖片描述

三·iptables的常規配置

對第一次訪問的請求讀取允許連線的策略,當第二次訪問或者之後訪問的直接接受請求,不讀取允許連線的策略,以便節省時間
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT    ##新增ssh的埠為接受
[root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT    ##新增http的埠為接受
[root@localhost ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT    ##新增dns的埠為接受
[root@localhost ~]# iptables -A INPUT -p tcp --dport 3260 -j ACCEPT  ##新增iscsi的埠為接受
[root@localhost ~]# iptables -A INPUT -i lo -j ACCEPT    ##本機迴環
[root@localhost ~]# iptables -nL       ##檢視策略
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3260
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0                    
[root@localhost ~]# service iptables save   ##儲存
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]
[root@localhost ~]# cat /etc/sysconfig/iptables    ##檢視
[root@localhost ~]# iptables -F     ##清空策略
[root@localhost ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT      ##將已經建立的和正在進行的設定允許訪問
[root@localhost ~]# iptables -nL      ##檢視策略 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述

四·iptables的地址偽裝

在desktop中:
[root@localhost ~]# ifconfig  
eth0: inet 172.25.254.119
[root@localhost ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.119     ##在nat表中新增若ip為172.25.0.19的主機連線172.25.254.71的主機時,通過本臺主機的eth0網絡卡路由轉換偽裝為172.25.254.119這個ip去連線的策略
在server中:
[root@localhost ~]# ping 172.25.254.71     ##ping通真機
[root@localhost ~]# ssh [email protected]
[root@foundation71 ~]# w -i
172.25.254.119    ##偽裝成功

這裡寫圖片描述
這裡寫圖片描述

在desktop中:
[root@localhost ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.0.19
在server中:
[root@localhost ~]# ssh [email protected]
[root@localhost ~]# w -i
172.25.0.19

這裡寫圖片描述

相關推薦

Linux:iptables基本命令以及地址偽裝

IPTABLES IPTABLES 是與最新的 3.5 版本 Linux 核心整合的 IP 資訊包過濾系統。如果 Linux 系統連線到因特網或 LAN、伺服器或連線 LAN 和因特網的代理伺服器, 則該系統有利於在 Linux 系統上更好地控制 IP 資訊包

cordova 基本命令 以及如何添加,刪除插件

src 全局 target node col rms rdo 下載安裝 firefox 1.首先下載安裝 node.js 在命令提示符 裏 輸入 node -v 會顯示版本號證明安裝成功 2.全局安裝 cordova: npm install -g cordova

Linux常用基本命令

顯示 -h 使用 shutdown str shu date syn 常用 1、顯示日期的指令: date 2、顯示日歷的指令:cal cal 顯示本月 cal 4 2017 顯示2017年4月的日歷 cal 2017 顯示2017年12個月的日歷 3、簡單好用

Linux部分基本命令

add which 選項 查詢 查找 包含 swd 基本 快捷 linux:一切皆文件 快速切換虛擬終端 ctrl+alt+F1-F6,可以切換第一臺,第二臺,到第六臺。 su root用戶,普通用戶間進行切換。 date 可以查詢時間,-s選項可以設置時間。s 是 s

Linux系統基本命令使用

切換 ssh 引號 隱藏 inux start 強制 目錄 use ssh 用戶名@ip地址  Xshell登陸 useradd 用戶名  添加用戶 su - 用戶名  跳轉到用戶名目錄下 [[email protected] ~]# 當前登錄用戶@主機名

Linux 常用基本命令

linux 常用命令1.touch: 修改文件的時間戳 格式:touch [選項]... FILE... 常用選項: -c, --no-create:不創建任何文件; -a:僅修改文件的訪問時間戳; -m:僅修改文件的修改時間戳; -t STAMP:使用指定的STAMP替換文件的時

git —— 基本命令以及操作(No.1)

src del 刪除 blog -1 comm commit 操作 提交 git基本命令(附加描述) 1.把文件添加到暫存區$ git add readme.txt 2.把暫存區的文件文件添加到倉庫$ git commit -m "提交說明" 備註:add添加單個文

Linux/Unix基本命令(二)

distrib *** ... 空間 arch time spool 但是 報錯 基本命令-2壓縮和歸檔打包:即歸檔,類似於旅遊之前收拾行李壓縮:為了減少占用的磁盤空間,可以做備份,在網絡上傳輸時節省網絡帶寬。打包壓縮軟件windows:winrar 360壓縮 好壓 7z

Apache 安裝卸載等基本命令以及Apache文件結構

安裝 post sudo 系統環境 例如 啟動服務 install linux 查看 一、win下的基本命令(cmd中,Apache安裝目錄下執行):   安裝服務:httpd -k install -n 服務名稱   卸載服務:sc delete 服務名稱   啟動服務:

linux基本命令

linux基本命令常用指令ls   ? ? ? ?顯示文件或目錄? ? ?-l ? ? ? ? ? 列出文件詳細信息l(list)? ? ?-a ? ? ? ? ?列出當前目錄下所有文件及目錄,包括隱藏的a(all)mkdir ? ? ? ? 創建目錄? ? ?-p ? ? ? ? ? 創建目錄,若無父目錄,

【mysql】mysql增改查刪基本命令以及備份操作

mysql mariaDB 實驗環境 虛擬化設備:Esxi6.0系統:Redhat7數據庫:mariaDB #操作與mysql相同第18章 使用MariaDB數據庫管理系統。學會4種備份MySQL數據庫(基本備份方面沒問題了) 一、初始化mariaDB服務 yum install mariadb ma

linux的sysctl命令以及相關應用

sysctl linux內核參數 一,sysctl命令簡介 sysctl命令被用於在內核運行時動態地修改內核的運行參數,可用的內核參數在目錄/proc/sys中。它包含一些TCP/ip堆棧和虛擬內存系統的高級選項, 這可以讓有經驗的管理員提高引人註目的系統性能。用sysctl可以讀取設置超過五百個系統

Linux常用基本命令( mkdir )

reat 文件 pre 提示 創建 ann div SQ 創建目錄 mkdir: 作用:創建目錄( make directories ) 命令格式: make [option] 目錄 1,創建目錄, 當目錄存在時,再次創建會提示文件已經存在 ghostwu@de

Linux常用基本命令(軟鏈接與硬鏈接 )

多個 類型 文件 文件類型 for lin 影響 rec AR 硬鏈接:相當於文件的多個入口,作用:備份文件,創建快照等 軟鏈接:相當於windows的快捷方式 命令格式: ln option 源文件 目標文件 -s: 創建軟鏈接 1,創建硬鏈接: ghos

Linux常用基本命令(split )

長度 any tor inux host man ota 文件 end split命令 作用:切割文件 格式: split [option] [input] [prefix] -l 指定分割後文件的最大行數 ghostwu@dev:~/linux/split$

Linux常用基本命令:uniq-去重復

gho linux 去重復 -c 1.0 spa color 顯示 uniq uniq命令 作用:輸出或者忽略文件中的重復行 格式: uniq [option] [file|stdin] ghostwu@dev:~/linux/uniq$ cat ghostwu.

Linux常用基本命令:三劍客命令之-sed

選項 插入 最後一行 文件處理工具 learn bye use -s linux sed是一個很強大的文件處理工具,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作 格式:sed [option] [command] [file] 常用命令:

Linux常用基本命令:三劍客命令之-awk格式化動作

c語言 style linux 轉義字符 int color linu %s BE 我們之前說過,awk是一個超強的文本格式化工具,而本文的printf動作就是經常用來做格式化文本的。使用方式跟c語言的printf差不多. 1,printf默認不會回車換行 ghos

Linux常用基本命令:三劍客命令之-awk模式用法(1)

AC dot code 再次 end CA awk 運算 什麽 再次回顧一下,awk基本語法格式: awk [options] ‘Pattern {Action}‘ file1 file2 ··· 之前的文章有講過兩種Patte

Linux常用基本命令:三劍客命令之-awk動作用法(1)

直接 判斷 continue st2 inux pri $0 基本命令 zha 1,多個動作,怎麽寫? ghostwu@dev:~/linux/awk$ cat host.txt name ip地址 host1 192.168.1.1 host2