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

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

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

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

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

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

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

# vi /etc/xen/xend-config.sxp
...
(network-script 'network-bridge antispoof=yes')
...
修改 /etc/xen/scripts/vif-common.sh 里面的 frob_iptable() 函數部分,加上 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" ]
...
很多系統上 iptables 在默認情況下都不會理會網橋上的 FORWARD 鏈,所以需要修改內核參數確保 bridge-nf-call-iptables=1,把這個修改可以放到 antispoofing() 函數里,這樣每次 Xen 配置網絡的時候會自動配置內核參數:

# vi /etc/xen/scripts/network-bridge
antispoofing () {
    echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables
...
}
修改完畢后測試的話需要關閉 domU,重啟 iptables 和 xend 服務,再啟動 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 上應該都可以用。

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

# /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
當然,別忘了:

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

關鍵詞:XenVPS
主站蜘蛛池模板: 视频| 神木县| 普兰店市| 正镶白旗| 余庆县| 鄂托克前旗| 延津县| 沙湾县| 西乡县| 枣强县| 宜君县| 琼中| 金堂县| 凌源市| 乌鲁木齐市| 阜康市| 库尔勒市| 灵山县| 天峨县| 宁南县| 隆安县| 莎车县| 长乐市| 鹤岗市| 平南县| 德清县| 宜黄县| 凤台县| 唐河县| 永丰县| 巩义市| 甘泉县| 江北区| 林西县| 普格县| 黑河市| 静安区| 通渭县| 枣强县| 精河县| 宁强县|