Ubuntu下配置虚拟IP地址

我配置虚拟IP地址的目的是为了实现高可用性,那是后话,先看看Ubuntu 12.04下如何设置虚拟IP地址。

首先看一下我的Ubuntu的IP:

  1. chenshu@sloop2:~$ ifconfig  
  2. eth0      Link encap:Ethernet  HWaddr d0:67:e5:ef:5a:6e    
  3.           inet addr:10.112.18.158  Bcast:10.112.18.255  Mask:255.255.255.0  
  4.           inet6 addr: fe80::d267:e5ff:feef:5a6e/64 Scope:Link  
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  6.           RX packets:341661 errors:0 dropped:0 overruns:0 frame:0  
  7.           TX packets:242801 errors:0 dropped:0 overruns:0 carrier:0  
  8.           collisions:0 txqueuelen:1000   
  9.           RX bytes:328287656 (328.2 MB)  TX bytes:31858367 (31.8 MB)  
  10.           Interrupt:17   
  11.   
  12. lo        Link encap:Local Loopback    
  13.           inet addr:127.0.0.1  Mask:255.0.0.0  
  14.           inet6 addr: ::1/128 Scope:Host  
  15.           UP LOOPBACK RUNNING  MTU:16436  Metric:1  
  16.           RX packets:17904 errors:0 dropped:0 overruns:0 frame:0  
  17.           TX packets:17904 errors:0 dropped:0 overruns:0 carrier:0  
  18.           collisions:0 txqueuelen:0   
  19.           RX bytes:2160236 (2.1 MB)  TX bytes:2160236 (2.1 MB)  
ping一下191,发现网络中没有,就用它做虚拟IP吧。

sudo -s之后,执行下面的命令,

  1. ifconfig eth0:0 10.112.18.191 netmask 255.255.255.0 up  
确保虚拟IP地址和本机IP地址在一个网段。

再来看一下是否成功:

  1. ifconfig  
  2. eth0      Link encap:Ethernet  HWaddr d0:67:e5:ef:5a:6e    
  3.           inet addr:10.112.18.158  Bcast:10.112.18.255  Mask:255.255.255.0  
  4.           inet6 addr: fe80::d267:e5ff:feef:5a6e/64 Scope:Link  
  5.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  6.           RX packets:347634 errors:0 dropped:0 overruns:0 frame:0  
  7.           TX packets:246488 errors:0 dropped:0 overruns:0 carrier:0  
  8.           collisions:0 txqueuelen:1000   
  9.           RX bytes:335797145 (335.7 MB)  TX bytes:32178089 (32.1 MB)  
  10.           Interrupt:17   
  11.   
  12. eth0:0    Link encap:Ethernet  HWaddr d0:67:e5:ef:5a:6e    
  13.           inet addr:10.112.18.191  Bcast:10.112.18.255  Mask:255.255.255.0  
  14.           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
  15.           Interrupt:17   
  16.   
  17. lo        Link encap:Local Loopback    
  18.           inet addr:127.0.0.1  Mask:255.0.0.0  
  19.           inet6 addr: ::1/128 Scope:Host  
  20.           UP LOOPBACK RUNNING  MTU:16436  Metric:1  
  21.           RX packets:17953 errors:0 dropped:0 overruns:0 frame:0  
  22.           TX packets:17953 errors:0 dropped:0 overruns:0 carrier:0  
  23.           collisions:0 txqueuelen:0   
  24.           RX bytes:2164072 (2.1 MB)  TX bytes:2164072 (2.1 MB)  
本机测试:
  1. ping 10.112.18.191  
  2. PING 10.112.18.191 (10.112.18.191) 56(84) bytes of data.  
  3. 64 bytes from 10.112.18.191: icmp_req=1 ttl=64 time=0.028 ms  
换台机器测试:
  1. edward@edward-catamaran:~$ ping 10.112.18.191  
  2. PING 10.112.18.191 (10.112.18.191) 56(84) bytes of data.  
  3. 64 bytes from 10.112.18.191: icmp_req=1 ttl=64 time=0.916 ms  
  4. 64 bytes from 10.112.18.191: icmp_req=2 ttl=64 time=0.258 ms  

删除虚拟IP的方法。

ifconfig eth0:0 down


后面还要做什么?当然是保存配置,保证重启后虚拟IP也还在。

直接在/etc/network/interfaces文件中添加:

  1. auto lo  
  2. iface lo inet loopback  
  3.   
  4.   
  5.   
  6. auto eth0:0  
  7. iface eth0:0 inet static  
  8. name Ethernet alias LAN card  
  9. address 10.112.18.191  
  10. netmask 255.255.255.0  
  11. broadcast 10.112.18.255  
  12. network 10.112.18.0  

重新启动网络服务。

/etc/init.d/networking restart

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Ubuntu系统上配置nginx和keepalived基于虚拟IP的步骤: 1. 安装nginx和keepalived: ``` sudo apt update sudo apt install nginx keepalived ``` 2. 配置nginx 在配置nginx之前,需要确保nginx已经正常启动并监听在正确的端口。打开默认的nginx配置文件: ``` sudo nano /etc/nginx/sites-available/default ``` 将`server_name`设置为虚拟IP地址,例如: ``` server { listen 80; server_name 192.168.1.100; # 虚拟IP地址 ... } ``` 保存并退出文件。 3. 配置keepalived 打开keepalived配置文件: ``` sudo nano /etc/keepalived/keepalived.conf ``` 添加以下配置: ``` vrrp_script chk_nginx { script "killall -0 nginx" # 检查nginx是否运行 interval 2 # 每2秒检查一次 } vrrp_instance VI_1 { interface eth0 # 监听的网卡 state MASTER # 主节点为MASTER,备份节点为BACKUP virtual_router_id 51 # 路由ID,要和备份节点一致 priority 101 # 主节点优先级,要比备份节点高 advert_int 1 # 每秒向其他节点发送VRRP通告 authentication { auth_type PASS # 认证类型为密码 auth_pass 1111 # VRRP密码 } virtual_ipaddress { 192.168.1.100/24 dev eth0 # 虚拟IP地址和掩码 } track_script { chk_nginx # 跟踪nginx是否运行,如果nginx停止运行,则切换到备份节点 } } ``` 保存并退出文件。 4. 启动keepalived 启动keepalived服务: ``` sudo systemctl start keepalived ``` 检查服务状态: ``` sudo systemctl status keepalived ``` 如果输出显示服务已经启动并正在运行,则说明配置成功。 以上就是在Ubuntu系统上配置nginx和keepalived基于虚拟IP的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值