Day32 iptables filter表案例、iptables nat表應用

iptables filter表案例

  • 介紹兩個之後可能會用到的,關於iptables filter表案例

案例1、需求(將指定端口放行)

  • 指定端口 80、2一、22放行,且22要指定一個ip段
  • 爲了實現這個需求,咱們要寫一個腳本
vi /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.133.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  指定端口放行

案例2、需求(能鏈接外網,可是不能ping本地)

  • 至關於禁止ping本地
iptables -I INPUT -p icmp --icmp-type 8 -j DROP

iptables nat表應用

準備目標:

**A機器兩塊網卡ens33(192.168.10.129)、ens37(192.168.110.110),ens33能夠上外網,ens37僅僅是內部網絡,

B機器只有en s37(192.168.110.90),和A機器ens37能夠通訊互聯。** - 注意:兩個網卡ip的寫法 ,是與自己網卡不一樣網段,新增網卡相同的網段html

  • 準備
    • 打開兩個客戶機,爲其添加兩個新的網卡
    • 命令:ifconfig ens37 192.168.110.10/24 用於增長新的網卡IP,固然也能夠去直接編輯配置文件
    • 兩個新增網卡的ip網關要同樣
    • 最後記得用cmd檢查下是否符合要求





需求1:可讓B機器鏈接外網

  • 第一步、打開A機器上的路由轉發
    • 檢查有沒有開啓內核轉發: cat /proc/sys/net/ipv4/ip_forward 輸出爲0時表示未開啓
    • 開啓,將0改爲1 :echo "1" > !$
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip
ip_default_ttl           ipfrag_max_dist
ip_dynaddr               ipfrag_secret_interval
ip_early_demux           ipfrag_time
ip_forward               ip_local_port_range
ip_forward_use_pmtu      ip_local_reserved_ports
ipfrag_high_thresh       ip_nonlocal_bind
ipfrag_low_thresh        ip_no_pmtu_disc
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip_forward 
0
[root@centos001 ~]# echo "1" > !$
echo "1" > /proc/sys/net/ipv4/ip_forward
[root@centos001 ~]# !cat
cat /proc/sys/net/ipv4/ip_forward
1
  • 第二步、在A機器的nat表中增長一條規則,目的是要讓這個網段能上網
[root@centos001 ~]# iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -o ens33 -j MASQUERADE 
[root@centos001 ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      ens33   192.168.100.0/24     0.0.0.0/0   //最下能看到咱們增長的規則
  • 第三步、添加網關

需求2:

  • C機器只能和A通訊,讓C機器能夠直接連通B機器的22端口
    A上打開路由轉發echo "1">/ proc/sys/net/ipv4/ip_forward
    A上執行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22 A上執行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
    B上設置網關爲192.168.100.1

擴展

  1. iptables應用在一個網段
    http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masquerade
    http://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率
    http://www.aminglinux.com/bbs/thread-985-1-1.html http://jamyy.us.to/blog/2006/03/206.html
相關文章
相關標籤/搜索