`
luozhaoyu
  • 浏览: 347616 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iptables与NAT设置

阅读更多
鸟哥的防火墙规则流程图


iptables 內建各表格與鏈的相關性


显示规则
引用
[root@www ~]# iptables [-t tables] [-L] [-nv]
選項與參數:
-t :後面接 table ,例如 nat 或 filter ,若省略此項目,則使用預設的 filter
-L :列出目前的 table 的規則
-n :不進行 IP 與 HOSTNAME 的反查,顯示訊息的速度會快很多!
-v :列出更多的資訊,包括通過該規則的封包總位元數、相關的網路介面等


删除规则
引用
[root@www ~]# iptables [-t tables] [-FXZ]
選項與參數:
-F :清除所有的已訂定的規則;
-X :殺掉所有使用者 "自訂" 的 chain (應該說的是 tables )囉;
-Z :將所有的 chain 的計數與流量統計都歸零


修改规则
引用
[root@www ~]# iptables [-t nat] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
選項與參數:
-P :定義政策( Policy )。注意,這個 P 為大寫啊!
ACCEPT :該封包可接受
DROP   :該封包直接丟棄,不會讓 client 端知道為何被丟棄。


引用
[root@www ~]# iptables [-AI 鏈名] [-io 網路介面] [-p 協定] \
> [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP|REJECT|LOG]
選項與參數:
-AI 鏈名:針對某的鏈進行規則的 "插入" 或 "累加"
    -A :新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條規則,
         使用 -A 就可以加上第五條規則!
    -I :插入一條規則。如果沒有指定此規則的順序,預設是插入變成第一條規則。
         例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5 號
    鏈 :有 INPUT, OUTPUT, FORWARD 等,此鏈名稱又與 -io 有關,請看底下。

-io 網路介面:設定封包進出的介面規範
    -i :封包所進入的那個網路介面,例如 eth0, lo 等介面。需與 INPUT 鏈配合;
    -o :封包所傳出的那個網路介面,需與 OUTPUT 鏈配合;

-p 協定:設定此規則適用於哪種封包格式
   主要的封包格式有: tcp, udp, icmp 及 all 。

-s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域,例如:
   IP  :192.168.0.100
   網域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。
   若規範為『不許』時,則加上 ! 即可,例如:
   -s ! 192.168.100.0/24 表示不許 192.168.100.0/24 之封包來源;

-d 目標 IP/網域:同 -s ,只不過這裡指的是目標的 IP 或網域。

-j :後面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)


引用
[root@www ~]# iptables [-AI 鏈] [-io 網路介面] [-p tcp,udp] \
> [-s 來源IP/網域] [--sport 埠口範圍] \
> [-d 目標IP/網域] [--dport 埠口範圍] -j [ACCEPT|DROP|REJECT]
選項與參數:
--sport 埠口範圍:限制來源的埠口號碼,埠口號碼可以是連續的,例如 1024:65535
--dport 埠口範圍:限制目標的埠口號碼。


引用

[root@www ~]# iptables -A INPUT [-m state] [--state 狀態]
選項與參數:
-m :一些 iptables 的外掛模組,主要常見的有:
     state :狀態模組
     mac   :網路卡硬體位址 (hardware address)
--state :一些封包的狀態,主要有:
     INVALID    :無效的封包,例如資料破損的封包狀態
     ESTABLISHED:已經連線成功的連線狀態;
     NEW        :想要新建立連線的封包狀態;
     RELATED    :這個最常用!表示這個封包是與我們主機發送出去的封包有關



NAT设置
SNAT设置
拥有210~220多个公共IP
引用
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.210-192.168.1.220


DNAT设置
eth0为公网网卡,转发到内网80服务器
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.10:80

从公网访问DMZ主机,其中10.20.40.0/24是内网,10.1.1.101是对外的公网地址
-A PREROUTING -d 10.1.1.101/32 -j DNAT --to-destination 10.20.40.1

之后往往需要使用MASQUERADE使外网数据包通过正确的网卡到达内网(外网主机不知如何路由)(不知道前面括号的解释是否正确)
-A POSTROUTING -s 10.1.1.0/24 -d 10.20.40.0/24 -o eth1 -j MASQUERADE


端口重定向
引用
[root@www ~]# iptables -t nat -A PREROUTING -p tcp  --dport 80 \
> -j REDIRECT --to-ports 8080


通过NAT共享上网
在可以连接英特网的linux服务器上添加转发规则
iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth1 -j MASQUERADE

其中eth1是公网网卡,-s是内网网段,NAT服务器内网地址是10.1.1.1

在内网机器上设置默认网关为10.1.1.1
生效之后在内网机器上ping 8.8.4.4
root@xen-test0:/etc/network# ping 8.8.4.4
引用
PING 8.8.4.4 (8.8.4.4) 56(84) bytes of data.
64 bytes from 8.8.4.4: icmp_req=1 ttl=39 time=74.3 ms
64 bytes from 8.8.4.4: icmp_req=2 ttl=39 time=64.2 ms


在公网机器上ping 8.8.4.4
引用
root@lzy:~# ping 8.8.4.4
PING 8.8.4.4 (8.8.4.4) 56(84) bytes of data.
64 bytes from 8.8.4.4: icmp_req=1 ttl=40 time=65.3 ms
64 bytes from 8.8.4.4: icmp_req=2 ttl=40 time=64.3 ms

发现ttl增加了1,这说明经过了公网NAT服务器转发,路由增加了一跳。配置成功。

保存iptables设置
iptables-save > /etc/nat.rules


恢复iptables设置
iptables-restore /etc/nat.rules


如果想在网卡重启时自动加载防火墙,则
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.up.rules
post-down iptables-restore < /etc/iptables.down.rules
分享到:
评论

相关推荐

    linux下设置iptables实现NAT功能

    linux下设置iptables实现NAT功能

    iptables和nat的配置与管理

    iptables和nat的配置与管理,对于iptables的配置与管理都有一定的基础。

    iptables建立NATiptables建立NAT

    iptables建立NATiptables建立NATiptables建立NATiptables建立NATiptables建立NATiptables建立NAT

    Linux下使用Iptables配置NAT防火墙

    Linux下使用Iptables配置NAT防火墙 分析防火墙技术原理和防火墙类别,结合校园网实际设计使用Linux下的Iptables 防火墙NAT 方案,能够实现NAT和对网络进行用户管理和信息过滤,并能防范一定的网络攻击手段和防病毒 ...

    iptables and NAT

    iptables and NAT iptables and NAT iptables and NAT iptables and NAT iptables and NAT

    iptables系统配置防火墙和NAT功能的实例学习借鉴.pdf

    iptables系统配置防火墙和NAT功能的实例学习借鉴.pdf

    一个iptables的stateless NAT模块实现

    但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT...

    Linux使用iptables限制多个IP访问你的服务器

    在Linux内核上,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等功能的一个子系统,这个子系统包含一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables是一个...

    让Linux操作系统NAT服务器支持UpnP

    当检测到这种情况时,NAT设备会自动创建端口映射,使得内部设备可以通过NAT网关与外部网络进行通信,无需用户手动配置。这对于P2P软件尤其有用,因为它们可以自动打开必要的端口,简化了网络设置流程。 要在Linux...

    iptables自定义设置

    ### iptables自定义设置知识点详解 #### 一、iptables简介 `iptables`是Linux系统下常用的网络管理工具之一,主要用于实现包过滤、网络地址转换(NAT)等功能。通过配置iptables规则,我们可以对进出系统的数据包...

    Linux 防火墙 iptables filter和nat.pdf

    Linux 防火墙 iptables 中 filter(包过滤防火墙)和 nat(路由转换)详解_linux中filter和nat.pdf

    iptables详解

    iptables是一款功能强大的网络管理工具,主要用于Linux操作系统中的数据包过滤和网络地址转换(NAT)。通过iptables,系统管理员能够灵活地定义网络策略,实现对进出网络的数据包进行精确控制。iptables内置于Linux...

    iptables-dnat详

    iptables nat snat dnat 负载均衡

    iptables基本命令规则简介

    iptables 是基于内核的防火墙,功能非常强大,iptables 内置了 filter,nat 和 mangle 三张表。filter 负责过滤数据包,包括的规则链有,input,output 和 forward;nat 则涉及到网络地址转换,包括的规则链有,...

    10.6: iptables防火墙 、 filter表控制 、 扩展匹配 、 nat表典型应用 、 总结和答疑.docx

    Linux 防火墙管理之 iptables 防火墙、filter 表控制、扩展匹配、nat 表典型应用 本节课程将深入介绍 Linux 防火墙管理中的 iptables 防火墙、filter 表控制、扩展匹配、nat 表典型应用。通过学习本节课程,学生将...

    iptables应用手册详细介绍

    在实际应用中,iptables 可以与代理服务器(如 squid)结合,以获得更加好的安全性。此外,iptables 也是一个非常灵活的工具,可以根据不同的需求进行配置和调整。 iptables 是一个功能强大且灵活的工具,能够满足...

Global site tag (gtag.js) - Google Analytics