zoukankan      html  css  js  c++  java
  • All About Debian /etc/network/interfaces File

    All About Debian /etc/network/interfaces File

    The file /etc/network/interfaces available in Debian and its derived distributions allows to define static and dynamic IP addresses for the interfaces, setup routing information and default gateways, masquerading network bonding and more.

    The default interfaces file looks like the following:

    Where auto starts the interface at boot and iface calls the network interface (in this case lo, loopback). All lines beginning with  “auto” specify the interfaces which will be enabled when running “ifup -a”, a command executed at boot.

    Lines beginning with “iface” have the following syntax:

    iface  <interface>  <address_family>  <method>

    For example:

    iface enp2s0 inet dhcp

    The following example shows how to setup a network card using DHCP:

    Setting up an interface with DHCP by editing the /etc/network/interfaces:

    To add a new interface using DHCP, add the following lines:

    auto <Interface>
    allow-hotplug <Interface>
    iface <Interface> inet dhcp

    Where allow-hotplug will start the interface upon event detection.

    Note: for IPv6 add “inet6”: iface <interface> inet6 dhcp

    Where <interface> you should set your device name, eth0, enp2s0, wlp3s0, etc.

    Setting up an interface with static address by editing the /etc/network/interfaces:

    If instead of configuring the interface with DHCP you want to set a static IP address and gateway replace the previous instructions with the following (replace 192.168.0.8/24 and 192.168.0.1 with your correct IP addresses):

    auto <Interface>
    iface <Interface> inet static
    address 192.168.0.1
    netmask 255.255.255.0

    gateway 192.168.0.1
    dns-nameservers 8.8.8.8

    Defining gateway and broadcast is optional.
    The following example shows a different configuration which runs after the network interface is enabled (up) or disabled (down). The “up” lines are executed when the device is enabled while the “down” lines when it is disabled:

    auto eth0
    iface eth0 inet static
    address 192.168.0.5
    network 192.168.0.0
    netmask 255.255.255.128
    broadcast 192.168.0.0
    up route add -net 192.168.0.128 netmask 255.255.255.0 gw 192.168.0.1
    up route add default gw 192.168.0.200
    down route del default gw 192.168.0.200
    down route del -net 192.168.0.128 netmask 255.255.255.128 gw 192.168.0.1

    Setting up a network card with 2 interfaces:

    The following example below shows a static configuration for a network card with two interfaces:

    auto eth0 eth0:1
    iface eth0 inet static
    address 192.168.0.5
    network 192.168.0.0
    netmask 255.255.255.0
    broadcast 192.168.0.255
    gateway 192.168.0.1
    iface eth0:1 inet static
    address 192.168.0.10
    network 192.168.0.0
    netmask 255.255.255.0

    As you can see in this way you can assign multiple IP addresses to a single network interface.

    Configure network bonding by editing the /etc/network/interfaces:

    The following example shows my previous bonding mode 1 configuration within the /etc/network/interfaces file, I will leave interfaces with their names for easier understanding:

    auto enp2s0
    iface enp2s0 inet manual
    bond-master bond0
    bond-primary enp2s0 wlp3s0
     
    auto wlp3s0
    iface wlp3s0 inet manual
    bond-master bond0
    bond-primary enp2s0 wlp3s0
    wpa-ssid 'LinuxHint'
    wpa-bssid '14:CF:E2:2A:EF:00'
    wpa-psk  '972537288765'
    auto bond0
    iface bond0 inet dhcp
    bond-slaves none
    bond-mode active-backup
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200

    A network bonding configuration with static IP instead of DHCP would have the last block like:

    iface bond0 inet static
    address 192.168.0.54
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.0.1

    You can run the following command to make sure bonding is working properly:

    cat /proc/net/bonding/bond0

    Source of examples: How to do Linux Network Bonding

    Enable logging for the file /etc/network/interfaces:

    There are 3 options related to the logging:

    VERBOSE: instructs log files to have detailed information.
    DEBUG: enable debugging when logging.
    SYSLOG: save logs within /var/log/syslog.

    Pre-up commands for /etc/network/interfaces: Pre-up commands are executed before enabling the network device. If the pre-up command fails the network card activation wont take place.

    Post-up instructions for /etc/network/interfaces: Post-up instructions are executed after the network interface is enabled.

    Pre-down instructions for /etc/network/interfaces: Pre-down instructions are executed before disabling the network device.

    Post-down instructions for /etc/network/interfaces: Post-down instructions are executed after the network interface is disabled.

    Pre-up, pre-down, post-up and post-down flags are conditional, if they ail the network device won’t get enabled or won’t be properly marked as disabled.

    For example, the instruction:

    pre-up /usr/local/sbin/iptables

    Will run the firewall before the network interface gets enabled, if iptables fails to start the network interface wont turn on.

    These instructions are optionals are valid for any method, they can be reiterated, alternatively if you want to run script when enabling and disabling network interfaces you can save them inside the directories:

    /etc/network/if-down.d
    /etc/network/if-post-down.d
    /etc/network/if-pre-up.d
    /etc/network/if-up.d

    The /etc/network/interfaces file is very complex with many more available options detailed at the main page or online at https://manpages.debian.org/jessie/ifupdown/interfaces.5.en.html.

    I hope you found this brief article on About debian /etc/network/interfaces File useful.
    Keep following LinuxHint for additional updates and tips on Linux and Networking.

     
  • 相关阅读:
    moment获取天的23时59分59秒可以用moment().endOf(String),以及获取天的0时0分0秒可以用moment().startOf('day')
    vue 去除输入框首位的空格
    管道
    事件广播
    iview在子组件中调用父组件的方法
    ZOJ 3430 Detect the Virus(AC自动机)
    HDU 3065 病毒侵袭持续中(AC自动机)
    HDU 2896 病毒侵袭(AC自动机)
    HDU 2222 Keywords Search(AC自动机)
    shell常用命令
  • 原文地址:https://www.cnblogs.com/mouseleo/p/13939750.html
Copyright © 2011-2022 走看看