擴充:
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" > /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,如需轉載請自行聯系原作者