Lệnh nào bạn có thể sử dụng để tìm Địa chỉ IP Gateway (tức là địa chỉ bộ định tuyến gia đình) cho eth0 trong Linux?
Tôi cần lấy địa chỉ IP từ một ứng dụng dòng lệnh để sử dụng trong tập lệnh shell.
Lệnh nào bạn có thể sử dụng để tìm Địa chỉ IP Gateway (tức là địa chỉ bộ định tuyến gia đình) cho eth0 trong Linux?
Tôi cần lấy địa chỉ IP từ một ứng dụng dòng lệnh để sử dụng trong tập lệnh shell.
Câu trả lời:
Để chỉ in IP gw mặc định:
route -n | grep 'UG[ \t]' | awk '{print $2}'
Để in thông tin tuyến đường trên tất cả các giao diện:
route -n
hoặc là
netstat -rn
route -n | awk '{if($4=="UG")print $2}'
route -n|awk '$4~/G/{print $2; exit(0)}'
cho cổng đầu tiên, nhưng ip route get IP
tốt hơn, bởi vì nó liệt kê tuyến đường sẽ thực sự được đưa đến IP đã cho, rất khó tìm route
một mình
ip route show 0.0.0.0/0 dev eth0 | cut -d\ -f3
là mục của tôi :)
cut
là ~ 20 lần nhẹ hơn nhị phân awk
.
Bạn có thể lấy cổng mặc định của hệ thống từ đầu ra của netstat -r
hoặcroute
$ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.199.0 0.0.0.0 255.255.255.240 U 0 0 0 virbr1
192.168.200.0 0.0.0.0 255.255.255.240 U 0 0 0 virbr2
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
0.0.0.0 là cổng mặc định của bạn, trỏ đến 192.168.1.254 tại vị trí của tôi.
Đầu ra từ tuyến -n hoặc netstat -rn và tìm kiếm đích 0,0.0.0.
Tôi thích gói iproute :
# get the default route
ip route list | awk ' /^default/ {print $3}'
# get the default route but limit on eth0 (output may be empty)
ip route list dev eth0 | awk ' /^default/ {print $3}'
có ai ngắn hơn thế này không? =)
ip r | awk '/^def/{print $3}'
ip r | awk 'END{print $3}'
ngắn hơn ba ký tự.
read x x i x< <(ip r g 1)
, kết quả là biến $ i để sử dụng tiếp
netstat -rn |awk '{if($1=="0.0.0.0") print $2}'
Điều này sẽ in sạch IP gateway. (kịch bản linux sẽ là gì nếu không có awk ?)
netstat -rn|sed -n '/^0.0.0.0/{ s/^[0. ]*//; s/ .*$//; p; }
Mở Terminal trên HĐH Linux của bạn Nó thường nằm ở thanh trên cùng hoặc thanh dưới cùng, tùy thuộc vào bản phân phối Linux bạn sử dụng Một khi bạn đã mở cửa sổ Terminal, hãy nhập các lệnh sau đây ip ip tuyến | grep mặc định Bây giờ hãy đợi một giây cho đầu ra và lưu ý địa chỉ cổng mặc định của bạn trên màn hình Địa chỉ cổng của bạn sẽ trông giống như 192.168.1.1. Khi bạn biết điều đó, bạn có thể bắt đầu định cấu hình bộ định tuyến của mình thông qua bảng quản trị web.
Nếu điều này không khắc phục được mạng của bạn, bạn có thể cần một bộ định tuyến mới.