iptables filter表小案例
- 需要把80端口 和21端口 22端口放行,22端口指定一個ip段,只有這個ip段的訪問纔可以,其他的都拒絕。用一個shell腳本去實現。
- ipt定義了一個變量,爲了後面去加載它。正常執行一個命令 寫一個絕對的命令,不會因爲環境變量導致命令無法執行。
- 首先清空之前的規則, -F
- 然後把默認的策略定義下,
- 然後加一些規則。第一條 INPUT 指定狀態放行。-m state --state 不常見,目的是爲了相關的數據包更順利的進行連接。
- ESTABLISHED表示已經鏈接了 。 RELATED表示一個邊緣狀態,兩個ip建立通信 還有額外的連接 就是RELATED 如果不寫 可能會導致其他的通信會禁掉。
- 把網段 訪問22端口給放行。
- 把80端口放行,把21端口方向。
- 寫腳本是因爲 上面DROP 。
- 執行完後就可以了。
- 還有個icmp的示例,這個可以產生一個效果,就是讓你ping外面的機器也可以ping通。
- 先把之前的腳本給恢復成默認的狀態。
- 然後 輸入這個規則,就ping不同自己的ip了 不同不代表機器沒有連接。可以ping出去,但是別人ping不通你。
iptables nat表應用
-
- 假設有兩臺機器 , 有一臺機器兩個網卡,一個是外網 一個是內網。雖然都是私網ip,另一臺機器只有一個內網網卡,默認不能連外網。
- 需求想讓 第二臺機器,連上外網。其實就是做一個小路由器,路由器可以上網,你的電腦就也可以上網。
- 首先兩臺虛擬機。
- 然後 設置第一臺虛擬機,添加網絡適配器,然後選擇lan橋段。
- 設置第二臺。 和上一個步驟一樣,然後把這臺的虛擬機 取消啓動時連接。
- 然後開啓兩臺虛擬機
- 第二臺因爲取消了連接,所以無法遠程連接它 第一臺可以。
- 我們給ens37設置一個網卡。我們可以命令行添加ip。
- 這個一重啓就會消失, 想永久生效,要去編輯配置文件,默認不存在的,要去ens16777736cp一份。
- 然後給第一臺虛擬機設置一個ip 也給第二臺設置一個ip。
- 然後設置完成 都ping的通。
- 確認第二臺機器無法上網。
- 然後打開第一臺機器的路由轉發。
- 然後增加一條規則。這個規則就是想讓100.0 上網。
- 然後設置一下網關,設置爲第一臺 機器的ip段,這樣就可以上網了。
應用下
- 用windows去ping 100.100還是不行。
- 而且每次都通過虛擬機很麻煩。 如果遠程登錄 要想辦法。
- 可以連接第一臺機器。可以跳轉,這個就是端口映射, 把第二臺的機器的端口映射出來。
- 第一步是打開路由轉發,這個已經做過。
- 第二部添加規則,在增加規則之前,把之前的規則刪掉。
- 然後添加兩個規則,一個是進去的包怎麼操作。一個是回來的包。
- 然後設置網關,這個也設置過了。
- 最後在xshell上創建一個連接。
- 連接 成功表示 沒有問題,接受保存,輸入root 密碼 進入遠程連接狀態。