记一下iptables针对虚拟机的映射规则

创建iptables chain

对于多个虚拟机,创建对应的iptables链可以方便管理

iptables -t table -N name

其中table变量需要两类,分别是natfilter,默认为filter。name变量是链名称。

当前虚拟机名为ubuntu

iptables -t nat -N SNAT-ubuntu
iptables -t nat -N DNAT-ubuntu
iptables -t filter -N FWD-ubuntu

编辑映射规则和过滤规则

创建完iptables chain后,针对需要映射的端口添加规则

首先针对DNAT添加规则

iptables -t nat -A dnat_chain -p protocol -d public_ip --dport public_port -j DNAT --to dest

其中dnat-chain是iptables链名称。protocol为协议,tcp或者udp。public_ip是当前主机的ip。public_port是要映射的主机端口。dest是虚拟机的ip和端口组合。

当前虚拟机ip为192.168.0.10,主机ip为10.0.0.10。要将80端口映射到主机的8080端口

iptables -t nat -A DNAT-ubuntu -p tcp -d 10.0.0.10 --dport 8080 -j DNAT --to 192.168.0.10:80

添加SNAT规则

iptables -t nat -A snat_chain -p protocol -s private_ip --dport private_port -j SNAT --to-source public_ip

示例

iptables -t nat -A SNAT-ubuntu -p tcp -s 192.168.0.10 --dport 80 -j SNAT --to-source 10.0.0.10

添加MASQUERADE

iptables -t nat -A snat_chain -p protocol -s private_ip -d private_ip --dport public_port -j MASQUERADE

示例

iptables -t nat -A SNAT-ubuntu -p tcp -s 192.168.0.10 -d 192.168.0.10 --dport 8080 -j MASQUERADE

添加FWD过滤规则

iptables -t filter -A fwd_chain -p protocol -d private_ip --dport private_port -j ACCEPT

示例

iptables -t filter -A FWD-ubuntu -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT

将添加的规则插入iptables规则中

iptables -t nat action OUTPUT -d public_ip -j dnat_chain
iptables -t nat action PREROUTING -d public_ip -j dnat_chain
iptables -t nat action POSTROUTING -s private_ip -d private_ip -j snat_chain
iptables -t filter action FORWARD -d private_ip -j fwd_chain

示例

iptables -t nat -I OUTPUT -d 10.0.0.10 -j DNAT-ubuntu
iptables -t nat -I PREROUTING -d 10.0.0.10 -j DNAT-ubuntu
iptables -t nat -I POSTROUTING -s 192.168.0.10 -d 192.168.0.10 -j SNAT-ubuntu
iptables -t filter -I FORWARD -d 192.168.0.10 -j FWD-ubuntu

使用MASQUERADE进行地址伪装

iptables-t nat -A POSTROUTING -s 192.168.0.0/24 -d 0.0.0.0/0 -j MASQUERADE

保存iptables的映射规则配置

service iptables save
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
Theme Argon
本网站自 2020-12-24 12:00:00 起已运行