XenServer 6.5 One Public IP in a Routed Network에 대한 포스팅입니다.
아래의 과정은 1개의 공인 IP로 VM 으로 SSH 등등 연결을 위한 설정임.
예) 공인IP : 1.1.1.1
VM #1 : 10.0.0.2
VM #2 : 10.0.0.3
외부에서 공인IP[ 1.1.1.1:1022 -> VM #1[ 10.0.0.2:22 ] 접속 설정임.
외부에서 공인IP[ 1.1.1.1:8080 -> VM #2[ 10.0.0.3:80 ] 접속 설정임.
1. NIC 찾기
[root@xenserver-ciufileu ~]# route | grep default default 192.168.233.2 0.0.0.0 UG 0 0 0 xenbr0
2. Xen network Bridge 만들기
[root@xenserver-ciufileu ~]# vi /etc/sysconfig/network-scripts/ifcfg-xenbr0:1 파일을 새로 만든다. DEVICE=xenbr0:1 ONBOOT=yes BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=10.0.0.1
저장 후 인터페이스를 활성화 해준다.
[root@xenserver-ciufileu ~]# ifup xenbr0:1
부팅시마다 자동으로 되게 하려면 rc.local에 추가해주면 된다.
[root@xenserver-ciufileu ~]# echo "ifup xenbr0:1" >> /etc/rc.d/rc.local
3. IP 포워딩 활성화
[root@xenserver-ciufileu ~]# vi /etc/sysctl.conf net.ipv4.ip_forward = 1 [root@xenserver-ciufileu ~]# sysctl -p
4. iptables 설정
[root@xenserver-ciufileu ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE [root@xenserver-ciufileu ~]# iptables -t filter -A RH-Firewall-1-INPUT -s 10.0.0.0/24 -j ACCEPT [root@xenserver-ciufileu ~]# service iptables save [root@xenserver-ciufileu ~]# service iptables restart
[root@xenserver-ciufileu ~]# ip addr add 10.0.0.0/24 dev xenbr0 [root@xenserver-ciufileu ~]# iptables -I RH-Firewall-1-INPUT -i xenbr0 -o xenbr0 -j ACCEPT [root@xenserver-ciufileu ~]# iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE [root@xenserver-ciufileu ~]# iptables -I RH-Firewall-1-INPUT -s 10.0.0.0/24 -j ACCEPT [root@xenserver-ciufileu ~]# service iptables save [root@xenserver-ciufileu ~]# service iptables restart
5. VM IP 설정 [ static으로 설정 ]
IP: 10.0.0.1~10.0.0.253
Subnet Mask: 255.255.255.0
Gateway: 10.0.0.1
DNS: 8.8.8.8
아래는 ubuntu 기준 IP설정 예임.
cat /etc/network/interfaces auto eth0 iface eth0 inet static address 10.0.0.5 netmask 255.255.255.0 gateway 10.0.0.1
6. VM PORT 포워딩 설정[Xenserver 에서 설정]
[root@xenserver-ciufileu ~]# iptables -t nat -A PREROUTING -i xenbr0 -p tcp --dport 1022 -j DNAT --to 10.0.0.2:22 [root@xenserver-ciufileu ~]# iptables -t nat -A PREROUTING -i xenbr0 -p tcp --dport 8080 -j DNAT --to 10.0.0.3:80