日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

iptables路由转换

發(fā)布時(shí)間:2024/1/8 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iptables路由转换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

iptables使用

  • iptables簡(jiǎn)介
    • iptables路由表
      • 表(功能)<—— ——>鏈(鉤子)
      • 處理動(dòng)作(target)
        • iptables的幫助信息
    • iptables路由轉(zhuǎn)發(fā)
    • iptables端口轉(zhuǎn)發(fā)

iptables簡(jiǎn)介

iptables其實(shí)不是真正的防火墻,我們可以把它理解成一個(gè)客戶端代理,用戶通過iptables這個(gè)代理,將用戶的安全設(shè)定執(zhí)行到對(duì)應(yīng)的"安全框架"中,這個(gè)"安全框架"才是真正的防火墻,這個(gè)框架的名字叫netfilter

netfilter才是防火墻真正的安全框架(framework),netfilter位于內(nèi)核空間。

iptables其實(shí)是一個(gè)命令行工具,位于用戶空間,我們用這個(gè)工具操作真正的框架。

netfilter/iptables(下文中簡(jiǎn)稱為iptables)組成Linux平臺(tái)下的包過濾防火墻,與大多數(shù)的Linux軟件一樣,這個(gè)包過濾防火墻是免費(fèi)的,它可以代替昂貴的商業(yè)防火墻解決方案,完成封包過濾、封包重定向和網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)等功能。

Netfilter是Linux操作系統(tǒng)核心層內(nèi)部的一個(gè)數(shù)據(jù)包處理模塊,它具有如下功能:

網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translate)

數(shù)據(jù)包內(nèi)容修改

以及數(shù)據(jù)包過濾的防火墻功能

所以說,雖然我們使用service iptables start啟動(dòng)iptables"服務(wù)",但是其實(shí)準(zhǔn)確的來說,iptables并沒有一個(gè)守護(hù)進(jìn)程,所以并不能算是真正意義上的服務(wù),而應(yīng)該算是內(nèi)核提供的功能

iptables路由表

我們自定義的所有規(guī)則,都是這四種分類中的規(guī)則,所有規(guī)則都存在于這4張“表”中

  • filter表 ,負(fù)責(zé)過濾功能,防火墻;內(nèi)核模塊:iptables_filter
  • nat表 network address translation,網(wǎng)絡(luò)地址轉(zhuǎn)換功能;內(nèi)核模塊:iptable_nat
  • mangle表 拆解報(bào)文,做出修改,并重新封裝的功能;內(nèi)核模塊:iptable_mangle
  • raw表 關(guān)閉nat表上啟用的連接追蹤機(jī)制;內(nèi)核模塊:iptable_raw
  • 表(功能)<—— ——>鏈(鉤子)

    filter表中的規(guī)則可以被鏈:INPUT,FORWARD,OUTPUT 使用
    nat表中的規(guī)則可以被鏈:PREROUTING,OUTPUT,POSTROUTING,INPUT 使用
    mangle表中的規(guī)則可以被鏈:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING 使用
    raw表中的規(guī)則可以被鏈:PREROUTING,OUTPUT使用

    處理動(dòng)作(target)

    ACCEPT:允許數(shù)據(jù)包通過
    DROP:直接丟棄數(shù)據(jù)包,不給任何回應(yīng)信息
    REJECT:拒絕數(shù)據(jù)包通過,必要時(shí)會(huì)給數(shù)據(jù)端發(fā)送一個(gè)響應(yīng)的信息,客戶端剛請(qǐng)求就會(huì)收到拒絕的信息
    SNAT:源地址轉(zhuǎn)換,解決內(nèi)網(wǎng)用戶用同一個(gè)公網(wǎng)地址上網(wǎng)的問題
    MASQUERADE:是SNAT的一種特殊形式,適用于動(dòng)態(tài)的,臨時(shí)會(huì)變的IP上
    DNAT:目標(biāo)地址轉(zhuǎn)換
    REDIRECT:在本機(jī)做端口映射
    LOG:在/var/log/messages文件中記錄日志信息,然后將數(shù)據(jù)包傳遞給下一條規(guī)則,也就是說除了記錄以外不對(duì)數(shù)據(jù)包做任何其他操作,任然讓下一天規(guī)則去匹配

    iptables的幫助信息

    Usage: iptables -[AD] chain rule-specification [options]
    iptables -I chain [rulenum] rule-specification [options]
    iptables -R chain rulenum rule-specification [options]
    iptables -D chain rulenum [options]
    iptables -[LS] [chain [rulenum]] [options]
    iptables -[FZ] [chain] [options]
    iptables -[NX] chain
    iptables -E old-chain-name new-chain-name
    iptables -P chain target [options]
    iptables -h (print this help information)

    指令Commands:
    Either long(單詞,以 – 做前導(dǎo)) or short(字母,區(qū)分大小寫,以 - 做前導(dǎo)) options are allowed.
    –append -A chain Append to chain
    –delete -D chain Delete matching rule from chain
    –delete -D chain rulenum
    Delete rule rulenum (1 = first) from chain
    –insert -I chain [rulenum]
    Insert in chain as rulenum (default 1=first)
    –replace -R chain rulenum
    Replace rule rulenum (1 = first) in chain
    –list -L [chain [rulenum]]
    List the rules in a chain or all chains
    –list-rules -S [chain [rulenum]]
    Print the rules in a chain or all chains
    –flush -F [chain] Delete all rules in chain or all chains
    –zero -Z [chain [rulenum]]
    Zero counters in chain or all chains
    –new -N chain Create a new user-defined chain
    –delete-chain
    -X [chain] Delete a user-defined chain
    –policy -P chain target
    Change policy on chain to target
    –rename-chain
    -E old-chain new-chain
    Change chain name, (moving any references)

    參數(shù)(選項(xiàng))Options:
    [!] --proto -p proto protocol: by number or name, eg. `tcp’
    [!] --source -s address[/mask][…]
    source specification
    [!] --destination -d address[/mask][…]
    destination specification
    [!] --in-interface -i input name[+]
    network interface name ([+] for wildcard)
    –jump -j target
    target for rule (may load target extension)
    –goto -g chain
    jump to chain with no return
    –match -m match

    iptables路由轉(zhuǎn)發(fā)

    需要轉(zhuǎn)發(fā)的主機(jī)修改網(wǎng)關(guān)為路由轉(zhuǎn)換主機(jī)IP地址

    network:version: 2renderer: networkdethernets:eno1:addresses: [10.1.65.100/16]gateway4: 10.1.65.49 #此處修改路由主機(jī)IP地址nameservers:addresses: [10.1.1.1, 223.5.5.5]

    ]# echo ‘net.ipv4.ip_forward = 1’ >> /etc/sysctl.conf
    ]# sysctl -p
    net.ipv4.ip_forward = 1
    ]# iptables -t nat -A POSTROUTING -o 外網(wǎng)網(wǎng)卡 -s 內(nèi)網(wǎng)IP -j SNAT --to 外網(wǎng)IP地址
    ]# netplay apply

    iptables端口轉(zhuǎn)發(fā)

    ]# iptables -t nat -A PREROUTING -p tcp --dport 8090 -j DNAT --to-destination 192.168.1.10:8080#8090為轉(zhuǎn)發(fā)后目標(biāo)主機(jī)的代理端口#192.168.1.10:8080為需要轉(zhuǎn)發(fā)的端口 ]# iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.10 --dport 8080 -j SNAT --to-source 192.168.1.20#192.168.1.20為代理主機(jī)IP地址

    總結(jié)

    以上是生活随笔為你收集整理的iptables路由转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。