程式扎記: [Linux 文章收集] How to set a default gateway on CentOS

標籤

2014年11月14日 星期五

[Linux 文章收集] How to set a default gateway on CentOS

Source From Here 
Preface 
A default gateway is a remote host or router that your Linux host forwards traffic to when the destination IP address of outgoing traffic does not match any route in your local routing table. Configuring a default gateway on CentOS is quite straightforward. If you wish to change a default gateway temporarily at run time, you can use ip command. 

First things first. To check what default gateway you are using currently: 
$ ip route show
192.168.91.0/24 dev eth0 proto kernel scope link src 192.168.91.128
169.254.0.0/16 dev eth0 scope link metric 1002
default via 192.168.91.2 dev eth0

According to the local routing table shown above, a default gateway is 192.168.91.2, and traffic is forwarded to the gateway via eth0. 

Change a default gateway to another IP address 
In order to change a default gateway to another IP address, try below command: 
$ sudo ip route replace default via 192.168.91.10 dev eth0 # Change default gw from 192.168.91.2 to 192.168.91.10

Obviously, a default gateway's IP address should come from the subnet associated with the interface connected to the default gateway, in this example, 192.168.91.0/24. Otherwise, the command will fail with the following error. 
RTNETLINK answers: No such process

Also, keep in mind that the default route change made by ip command will be lost after rebooting. 

Set a default gateway permanently on CentOS 
You will need to update /etc/sysconfig/network accordingly. 
$ sudo vi /etc/sysconfig/network
  1. ...  
  2. GATEWAY=192.168.91.10  

Again, be aware that the IP addressed specified here should match with the subnet (192.168.91.0/24) associated with a default route interface. 

Another option to set a default gateway persistently on CentOS is to edit /etc/sysconfig/network-scripts/ifcfg-<default_interface_name>, and add "GATEWAY=" there. If the default interface is "eth0", you will need to edit /etc/sysconfig/network-scripts/ifcfg-eth0. If you choose to use this method, you need to refer to this post to get familiar with this option. 

Whether you edit /etc/sysconfig/network or /etc/sysconfig/network-scripts/ifcfg-ethX, don't forget to restart network service as follows, or reboot your CentOS for the change to take effect. 
$ sudo service network restart

Supplement 
How to configure network interfaces in CentOS 
How to assign multiple IP addresses to one network interface on CentOS 
How to configure networking in CentOS Desktop with command line 
How to run a startup script automatically after a ...work interface is up on CentOS 
How to install dummynet on CentOS

沒有留言:

張貼留言

網誌存檔

關於我自己

我的相片
Where there is a will, there is a way!