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

如何避免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
主站蜘蛛池模板: 岐山县| 塔河县| 高青县| 阿克苏市| 玉门市| 卢龙县| 西盟| 东海县| 临漳县| 涪陵区| 盘山县| 凤山市| 固安县| 嘉兴市| 辛集市| 东城区| 龙岩市| 雅江县| 南部县| 广南县| 临潭县| 大宁县| 灌云县| 茂名市| 东海县| 巴彦县| 三亚市| 上杭县| 乳源| 丹江口市| 阳西县| 门头沟区| 两当县| 蚌埠市| 卓尼县| 岳普湖县| 中山市| 波密县| 尤溪县| 潮安县| 枣阳市|