成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

如何避免Xen VPS用戶自己修改IP地址

2013-11-26 08:02:50來源:Linux Today作者:

作為 Xen VPS 服務(wù)商,我們分配獨(dú)立的 IP 地址給 VPS,我們不希望 VPS 用戶自己能隨便修改 IP 地址,因為這樣有可能和其他用戶的 IP 地址造成沖突,而且造成管理上的不便,所以需要綁定 IP 給某個 VPS.

作為 Xen VPS 服務(wù)商,我們分配獨(dú)立的 IP 地址給 VPS,我們不希望 VPS 用戶自己能隨便修改 IP 地址,因為這樣有可能和其他用戶的 IP 地址造成沖突,而且造成管理上的不便,所以需要綁定 IP 給某個 VPS.

解決這個問題的辦法有很多,從路由器、防火墻、操作系統(tǒng)、Xen 等層面都可以做限制。這里介紹的兩個簡單方法都是從 dom0 入手:一個是在 dom0 上利用 Xen 配置;一個是在 dom0 上利用 iptables.

利用 Xen 配置
Xen 上有個 antispoof 配置選項就是來解決這個問題的,不過默認(rèn)配置沒有打開這個 antispoof 選項,需要修改:

# vi /etc/xen/xend-config.sxp
...
(network-script 'network-bridge antispoof=yes')
...
修改 /etc/xen/scripts/vif-common.sh 里面的 frob_iptable() 函數(shù)部分,加上 iptables 一行:

# vi /etc/xen/scripts/vif-common.sh
function frob_iptable()
{
    ...
    iptables -t raw "$c" PREROUTING -m physdev --physdev-in "$vif" "$@" -j NOTRACK
}
修改完 Xen 配置后還需要修改 domU 的配置,給每個 domU 分配固定 IP 和 MAC 地址,還有 vif 名字:

# vi /etc/xen/vm01
...
vif = [ "vifname=vm01,mac=00:16:3e:7c:1f:6e,ip=172.16.39.105,bridge=xenbr0" ]
...
很多系統(tǒng)上 iptables 在默認(rèn)情況下都不會理會網(wǎng)橋上的 FORWARD 鏈,所以需要修改內(nèi)核參數(shù)確保 bridge-nf-call-iptables=1,把這個修改可以放到 antispoofing() 函數(shù)里,這樣每次 Xen 配置網(wǎng)絡(luò)的時候會自動配置內(nèi)核參數(shù):

# vi /etc/xen/scripts/network-bridge
antispoofing () {
    echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
...
}
修改完畢后測試的話需要關(guān)閉 domU,重啟 iptables 和 xend 服務(wù),再啟動 domU.

# xm shutdown vm01
# /etc/init.d/iptables restart
# /etc/init.d/xend restart
# xm create vm01
上面的方法在 Xen 3.x 上 測試有效,有人說在 Xen 4.x 上行不通,我們下面將要介紹的方法繞開了 Xen 配置,直接從 iptables 限制,在 Xen 3.x 和 Xen 4.x 上應(yīng)該都可以用。

利用 iptables
首先在 dom0 上確定 iptables 已經(jīng)開啟,這里需要注意的是一定要在每個 domU 的配置文件中的 vif 部分加上 vifname, ip, mac,這樣才能在 iptables 規(guī)則里面明確定義:

# /etc/init.d/iptables restart

# vi /etc/xen/vm01
...
vif = [ "vifname=vm01,mac=00:16:3e:7c:1f:6e,ip=172.16.39.105,bridge=xenbr0" ]
...

# vi /etc/iptables-rules
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
# The antispoofing rules for domUs
-A FORWARD -m state --state RELATED,ESTABLISHED -m physdev --physdev-out vm01 -j ACCEPT
-A FORWARD -p udp -m physdev --physdev-in vm01 -m udp --sport 68 --dport 67 -j ACCEPT
-A FORWARD -s 172.16.39.105/32 -m physdev --physdev-in vm01 -j ACCEPT
-A FORWARD -d 172.16.39.105/32 -m physdev --physdev-out vm01 -j ACCEPT
# If the IP address is not allowed on that vif, log and drop it.
-A FORWARD -m limit --limit 15/min -j LOG --log-prefix "Dropped by firewall: " --log-level 7
-A FORWARD -j DROP
# The access rules for dom0
-A INPUT -j ACCEPT
COMMIT

# iptables-restore < /etc/iptables.rules
當(dāng)然,別忘了:

# echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables

關(guān)鍵詞:XenVPS
主站蜘蛛池模板: 德保县| 磴口县| 清原| 子洲县| 磐石市| 灵丘县| 凌云县| 盐亭县| 叶城县| 德昌县| 博罗县| 娄底市| 扎囊县| 镇安县| 灵川县| 明光市| 平谷区| 平罗县| 滦南县| 瓮安县| 武隆县| 石家庄市| 通渭县| 北宁市| 泽库县| 凌海市| 绥棱县| 麦盖提县| 财经| 师宗县| 盐池县| 崇礼县| 石阡县| 东台市| 合作市| 五大连池市| 双牌县| 日土县| 门头沟区| 高雄县| 安阳县|