首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

iptables与NAT设立

2012-08-15 
iptables与NAT设置鸟哥的防火墙规则流程图iptables 內建各表格與鏈的相關性显示规则-Z :將所有的 chain 的

iptables与NAT设置
鸟哥的防火墙规则流程图


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


显示规则
-Z :將所有的 chain 的計數與流量統計都歸零

修改规则
    -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)

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


端口重定向
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
iptables-save > /etc/nat.rules

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


如果想在网卡重启时自动加载防火墙,则
auto eth0iface eth0 inet dhcppre-up iptables-restore < /etc/iptables.up.rulespost-down iptables-restore < /etc/iptables.down.rules

热点排行