/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

Network Configuration In Linux/Ubuntu >= 17.4

1. Các file cấu hình:

  • Network interface

- Debian-based: /etc/network/interfaces
- Red Hat-based: /etc/sysconfig/network-scripts/
- Ubuntu (>= 17.04): /etc/netplan/

  • DNS server: /etc/resolv.conf
  • /etc/nsswitch.conf
Ví dụ:
  • Kiểm tra thông tin IP hiện tại với lệnh: ip a
khanhvc@ubutu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.73/22 brd 192.168.3.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::9d21:bf12:41f0:7dfb/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.68/22 brd 192.168.3.255 scope global dynamic noprefixroute ens38
       valid_lft 28788sec preferred_lft 28788sec
    inet6 fe80::ba76:35f6:4158:5f73/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

khanhvc@ubutu:~$

Hiện tại trong thiết bị có 3 card mạng (1 lo-loopback, 1 ens33 và ens38) 
  • Để cấu hình IP cho Ubuntu chúng ta có thể thay đổi nội dung file /etc/netplan/01-network-manager-all.yaml bằng lệnh vim

khanhvc@ubutu:~$sudo vim /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
    ethernets:
        ens33:
            dhcp4: true
        ens38:
            addresses: [192.168.0.116/22]
            nameservers:
              addresses: [8.8.8.8]
            dhcp4: no
    version: 2
    renderer: NetworkManager


Cấu hình trên có nghĩa là card mạng ens33 để lấy ip tự động - DHCP, card mạng ens38 đặt ip tĩnh IP là 192.168.0.116/22, DNS là 8.8.8.8
  • nhấn Esc + : wq! -> enter để lưu cấu hình và thoát khỏi vim
  • Thực hiện apply cấu hình vừa thay đổi
 sudo netplan apply

  • Kiểm tra lại thông tin ip address 
khanhvc@ubutu:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.73/22 brd 192.168.3.255 scope global dynamic noprefixroute ens33
       valid_lft 3560sec preferred_lft 3560sec
    inet6 fe80::20c:29ff:fe73:8dd0/64 scope link
       valid_lft forever preferred_lft forever
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.116/22 brd 192.168.3.255 scope global noprefixroute ens38
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:8dda/64 scope link
       valid_lft forever preferred_lft forever
khanhvc@ubutu:~$

Chúng ta thấy card ens33 dynamic có nghĩa là đang được cấu hình IP address từ DHCP server

2. Các câu lệnh - commands
  • nmtui: Giao diện đồ họa cơ bản để cấu hình network
  • net-tools package:
- ethtool
- ifconfig
- iwconfig
- route
  • iproute2 package
ip: là câu lệnh phổ biến dần thay thế cho ifconfig


2.1 IP Address:
  • Thêm IP vào interface ens38
sudo ip address add 192.168.0.117/22 dev ens38

  • Xóa IP vào interface ens38
sudo ip address del 192.168.0.117/22 dev ens38

 

  • Xem thông tin IP address bao gồm MAC address
khanhvc@ubutu:~$ ip add show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:d0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.73/22 brd 192.168.3.255 scope global dynamic noprefixroute ens33
       valid_lft 24533sec preferred_lft 24533sec
    inet6 fe80::20c:29ff:fe73:8dd0/64 scope link
       valid_lft forever preferred_lft forever
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.117/22 scope global ens38
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:8dda/64 scope link
       valid_lft forever preferred_lft forever
khanhvc@ubutu:~$

  • Hoặc cụ thể một interface
khanhvc@ubutu:~$ ip address show dev ens38
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:73:8d:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.117/22 scope global ens38
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe73:8dda/64 scope link
       valid_lft forever preferred_lft forever
khanhvc@ubutu:~$

  • Thiết lập interface up/down
sudo ip link set ens38 down


  • Kiểm tra sau khi thiết lập

khanhvc@ubutu:~$ ip address show dev ens38

4: ens38: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000

    link/ether 00:0c:29:73:8d:da brd ff:ff:ff:ff:ff:ff

khanhvc@ubutu:~$ 


hoặc
sudo ip link set ens38 up

2.2 Routing Table

  • Thiết lập default gateway là 192.168.0.7 thông qua interface ens33
sudo ip route add default via 192.168.0.7 dev ens33

  • Xóa default gateway
sudo ip route del default via 192.168.0.7 dev ens33

  • Kiểm tra bảng route hiện tại
khanhvc@ubutu:~$ ip route show
default via 192.168.0.7 dev ens33 proto dhcp metric 100
192.168.0.0/22 dev ens33 proto kernel scope link src 192.168.0.73 metric 100
khanhvc@ubutu:~$

  • Thêm route tĩnh
sudo ip route add 192.168.100.0/24 via 192.168.0.7 dev ens33

  • Xóa route tĩnh
sudo ip route del 192.168.100.0/24 via 192.168.0.7 dev ens33

  • Kiểm tra packet mà route đi qua. Ví xem để đến ip 8.8.8.8 sẽ đi qua route nào.
khanhvc@ubutu:~$ ip route get 8.8.8.8
8.8.8.8 via 192.168.0.7 dev ens33 src 192.168.0.73 uid 1000
    cache
khanhvc@ubutu:~$ 


  • Kiểm tra bảng ARP 

khanhvc@ubutu:~$ ip neigh
192.168.0.16 dev ens33 lladdr 50:e5:49:a4:01:dd REACHABLE
192.168.0.7 dev ens33 lladdr 00:d7:8f:0d:b8:3f REACHABLE
192.168.0.48 dev ens33 lladdr 94:de:80:a6:fb:30 REACHABLE
khanhvc@ubutu:~$


3. Troubleshooting
  • ping
  • traceroute: ICMP
  • tracepath: UDP
  • host
  • dig
  • nslookup
  • netstat
  • ss
Cài traceroute trên ubuntu
sudo apt-get install traceroute

Cài traceroute trên CentOS
sudo yum install traceroute

Command Giải Thích
ping -c 4 google.com.vn Ping google.com.vn với 4 gói tin
traceroute 8.8.8.8 Kiểm tra để đi đến được google.com.vn thì cần qua những next-hop nào
tracepath google.com.vn Tương tự như traceroute



Xong!

No comments:

Post a Comment

/*header slide*/