天天看點

10.15 iptables filter表小案例;10.16—10.18 iptables nat

擴充:

1. iptables應用在一個網段:

<a href="http://www.aminglinux.com/bbs/thread-177-1-1.html">http://www.aminglinux.com/bbs/thread-177-1-1.html</a>

2. sant,dnat,masquerade:   

<a href="http://www.aminglinux.com/bbs/thread-7255-1-1.html">http://www.aminglinux.com/bbs/thread-7255-1-1.html</a>

3. iptables限制syn速率:

<a href="http://www.aminglinux.com/bbs/thread-985-1-1.html">http://www.aminglinux.com/bbs/thread-985-1-1.html</a>

10.15 iptables filter表小案例

iptables表小案例

1. 建立iptables.sh腳本:

[root@hao-001 ~]# vim /usr/local/sbin/iptables.sh

腳本内容添加:

#! /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 192.168.223.0/24 -p tcp --dport 22 -j ACCEPT

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

解釋說明:

ipt="/usr/sbin/iptables" 定義一個環境變量(下面$ipt就等同于/usr/sbin/iptables的絕對路徑了)

$ipt -F 清空之前規則(沒有-t,預設是執行的filter)

$ipt -P INPUT DROP 定義政策 (INPUT政策 DROP掉)

$ipt -P OUTPUT ACCEPT 定義政策(OUTPUT政策 ACCEPT接受)

$ipt -P FORWARD ACCEPT 定義政策(FORWARD政策 ACCEPT接受)

$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 增加規則(RELATED狀态,ESTABLISHED狀态放行)

$ipt -A INPUT -s 192.168.223.0/24 -p tcp --dport 22 -j ACCEPT增加規則(192.168.223網段通路22端口的資料包放行)

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT增加規則(80端口資料包方行)

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT增加規則(21端口資料包放行)

2. 執行iptables.sh腳本:

[root@hao-001 ~]# sh /usr/local/sbin/iptables.sh

3. 檢視iptables.sh規則:

[root@hao-001 ~]# iptables  -nvL

4. 恢複預設規則(重新開機了iptables服務,因為剛剛設定的規則沒有儲存到配置檔案!):

[root@hao-001 ~]# service iptables restart

filter表小案例

1. 本機可以ping通外網,别人ping不通本機(禁ping) :

[root@hao-001 ~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP

2. 删除禁ping的規則:

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

10.16 iptables nat表應用(上)

準備工作:

hao1A機器兩塊網卡ens33(192.168.223.128)、ens37(192.168.100.1),ens33可以上外網,ens37僅僅是内部網絡(區域網路)

hao2B機器隻有網卡ens37(192.168.100.100),和A機器ens37可以通信互聯。

需求1:讓hao2B機器連接配接外網

hao1A機器操作:

hao1機器:編輯虛拟機設定——選中:網絡擴充卡——添加:網絡擴充卡——點選:下一步

保持預設:NAT模式——點選: 完成

選中:網絡擴充卡 2——選擇:LAN 區段——添加:自定義名稱(内網交換機001)——确定

選中剛剛添加的新LAN段 ——确定

hao2B機器操作:

hao2機器:編輯虛拟機設定——選中:網絡擴充卡——裝置狀态:啟動時連接配接勾掉——點選:下一步

選中:網絡擴充卡 2——選擇:LAN 區段——選中:内網交換機001——确定

注意關掉,hao2B機器網絡擴充卡——裝置狀态——啟動時連接配接——勾選掉

確定:hao1擴充卡2和hao2擴充卡2,LAN 區段在同一段下!!!

1. 檢視hao1A機器,新添加的網卡名稱:

[root@hao-001 ~]# ifconfig

2. 新網卡指令設定ip(臨時生效,在Xshell上操作的): ifconfig ens37 ip/網段

(重新開機後會失效,永久生效去建立網卡配置檔案,拷貝ens33檔案重命名為ens37,把ip更改,mac位址删除)

[root@hao-001 ~]# ifconfig ens37 192.168.100.1/24

3. 檢視hao2B機器,新添加的網卡名稱:

[root@hao-02 ~]# ifconfig

4. 新網卡指令設定ip(臨時生效,在虛拟機上操作的): ifconfig ens37 ip/網段

(為甚麼不在xshell上操作,因為hao2B機器的網絡擴充卡沒有啟動,沒法連接配接Windows下的xshell了)

[root@hao-02 ~]# ifconfig ens37 192.168.100.100/24

5. hao1A機器 ping hao2B機器設定的内網ip:

[root@hao-001 ~]# ping 192.168.100.100

6. hao2B機器 ping hao1A機器設定的内網ip

(一定要確定,hao2B機器ens37網卡設定了192.168.100.100的ip,臨時設定的很快就失效)

[root@hao-02 ~]# ping 192.168.100.1

10.17 iptables nat表應用(中)

7. hao1A機器,打開端口轉發(給這個檔案追加1):

(cat .../ip_forward檔案預設檢視的值是0沒打開,打開為1。)

[root@hao-001 ~]# echo "1" &gt; /proc/sys/net/ipv4/ip_forward

[root@hao-001 ~]# cat /proc/sys/net/ipv4/ip_forward

8. hao1A機器,執行規則使192.168.100.0網段可以上網:

[root@hao-001 ~]# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

檢視nat表規則:

9. hao2B機器,指令設定網關 :

[root@hao-02 ~]# route add default gw 192.168.100.1

10. hao2B機器,配置檔案中,設定DNS:

[root@hao-02 ~]# vi /etc/resolv.conf

插入添加公共dns:

nameserver 119.29.29.29

11. hao2B機器,ping通了外網位址 ;ping通了hao1A機器ens33網卡ip :

注意:一定要關閉了selinux防火牆和firewalld防火牆在做本實驗!!!

[root@hao-02 ~]# ping www.baidu.com

[root@hao-02 ~]# ping 192.168.223.128

10.18 iptables nat表應用(下)

需求2:hao3C機器隻能和hao1A機器通信;讓hao3C機器可以直接連通hao2B機器的22端口

1. hao1A機器,打開端口轉發(給這個檔案追加1) :

2. 删掉hao1A機器,之前設定nat表上的規則 :

[root@hao-001 ~]# iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

3. hao1A機器,重新設定添加nat表的規則1(端口轉發,針對進去的資料包) :

[root@hao-001 ~]# iptables -t nat -A PREROUTING -d 192.168.223.128 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22

4. hao1A機器,重新設定添加nat表的規則2(針對回來的資料包) :

[root@hao-001 ~]# iptables -t nat  -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.223.128

5. hao2B機器,指令設定網關 :

6. 設定hao3 Xshell連接配接到hao2B機器:

通過hao1機器外網ip指定端口,遠端到hao2内網機器:

建立Xshell——名稱:hao3——主機:hao1外網ip——端口号:1122(通往hao2機器的端口)

第一次登入的警告,接受并儲存即可!

輸入hao2B機器使用者名密碼,即可登入到A機器;

通過A機器外網映射的ip 1122端口連接配接到hao2B機器上!

本文轉自 主内安詳 51CTO部落格,原文連結:http://blog.51cto.com/zhuneianxiang/2065107,如需轉載請自行聯系原作者

繼續閱讀