สรุปคำสั่ง Linux Network

By | 29/09/2021
ภาพไม่เกี่ยวกับเนื้อหา
  1. เริ่มกันเลยกับคำสั่งแรก คำสั่งเอาไว้ลบ default route
ip route del 0.0.0.0/1 via 10.144.15.100
ip route del default via 192.168.1.1

2. คำสั่งเพิ่ม default route ( แก้ add เป็น del ได้ )

route add default gw 192.168.3.4 dev eth0
route add -net default gw 192.168.3.4 netmask 0.0.0.0 dev eth0 metric 1

3. คำสั่งเพิ่ม static route แบบทั้ง class และ single host ( แก้ add เป็น del ได้ )

route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.4.2
route add -host 192.168.2.10 gw 192.168.4.3

4. คำสั่งล้าง IP ออกจาก interface

ip addr flush dev eth0

5. คำสั่ง เพิ่ม/ลบ IP ออกจาก Interface กรณีไม่อยากล้างออกทั้งหมด

ip addr add 192.168.5.100/24 dev eth0
ip addr del 192.168.5.100/24 dev eth0

6. คำสั่งเพิ่ม macvlan ลิ้งเข้ากับ interface

ip link add mymacvlan1 link eth0 type macvlan mode bridge

7. คำสั่งสั่ง start interface

ip link set mymacvlan1 up

8. คำสั่ง iptables แก้ MTU กรณีใช้ VPN Share internet

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

9. คำสั่งเพิ่ม net namespace

ip netns add myns1

10. คำสั่งแสดงรายการ namespace

ip netns list
ip netns show

11. เข้าไปจัดการ namespace คล้าย ๆ docker

ip netns exec myns1 bash
ip netns exec myns1 ip a

12. คำสั่งสร้าง veth เป็นคำสั่งสร้าง interface ขึ้นมา 2 อันผูกกันไว้ เหมือนสายแลนในระบบ เอาไว้เชื่อม port ที่ต้องการ
ตัวอย่างคือ veth0 ผูกกับ veth1

ip link add veth0 type veth peer name veth1

13. คำสั่ง set interface เข้า namespace (กรณีต้องการเอาออกจาก namespace ให้ exec เข้าไป ระบุ netns 1)

ip link set veth1 netns myns1
ip netns exec myns1 ip link set veth1 netns 1

14. คำสั่ง set bridge master

ip link set dev eth1 master br0
ip link set dev eth2 master br0

15. คำสั่ง dhcp renew

dhclient -v -r eth0
dhclient -v eth0

เอกสารเพิ่มเติม

  1. อธิบาย virtual interface แบบต่าง ๆ
    https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking#macvtap_ipvtap

2. เปรียบเทียบ ระหว่าง Macvlan and IPvlan
https://sreeninet.wordpress.com/2016/05/29/macvlan-and-ipvlan/

3. ทำความเข้าใจเกี่ยวกับ Linux routing (wg-quick)
https://ro-che.info/articles/2021-02-27-linux-routing

4. คอนเซ็ป wireguard client ที่ไม่ยิ่งกับ route table ของระบบ
https://www..com/netns/#the-new-namespace-solution

5. Network Namespace and iptables
http://fosshelp.blogspot.com/2014/07/create-network-namespace-iptables-rules.html
http://fosshelp.blogspot.com/2014/07/iptables-dnat-snat-masquerade-with.html

6. วิธีทำ rc-local service ไว้ใช้งาน
https://www.linuxbabe.com/linux-server/how-to-enable-etcrc-local-with-systemd

ใส่ความเห็น