Câu trả lời:
/sbin/ifconfig -a
inet addr
gì?
Bạn có thể dùng:
/bin/ip addr
ifconfig
hiện đang được thực hiện.
ip a
.
Nếu bạn có một địa chỉ nội bộ đang sử dụng, hãy kiểm tra
curl http://myip.dnsomatic.com
có thể là một ý tưởng tốt trên vỏ unix.
Hoặc, chỉ cần tải URL đó vào trình duyệt của bạn.
Nếu bạn nhận được một câu trả lời khác từ "ifconfig -a
" kết quả,
các ifconfig
cho địa chỉ nội bộ của bạn - đó có thể sẽ không làm việc từ bên ngoài.
Ngay cả khi tất cả có vẻ ổn, bạn có thể có một tường lửa sẽ không cho phép đến kết nối ssh .
Tại thời điểm nào bạn nên thử cổng quan tâm từ trình duyệt trên máy tại,
http://www.canyouseeme.org/
Điều đó sẽ xác nhận kết nối thông qua,
curl http://myip.dnsomatic.com
curl ifconfig.me
/bin/hostname -i
hostname --all-ip-addresses
. Hiển thị tất cả các địa chỉ mạng của máy chủ. Tùy chọn này liệt kê tất cả các địa chỉ được cấu hình trên tất cả các giao diện mạng. Giao diện loopback và địa chỉ liên kết cục bộ IPv6 bị bỏ qua. Trái với tùy chọn -i, tùy chọn này không phụ thuộc vào độ phân giải tên. Không đưa ra bất kỳ giả định nào về thứ tự đầu ra.
/bin/hostname -I
/bin/hostname -i
chỉ cần cho 127.0.1.1
, đó là vô ích.
/sbin/ifconfig|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Nếu bạn cần địa chỉ nội bộ của bạn nối thêm giao diện của bạn sau ifconfig, vd
/sbin/ifconfig eth0|grep inet|head -1|sed 's/\:/ /'|awk '{print $3}'
Nếu bạn đứng sau NAT và cần IP công cộng, hãy sử dụng:
wget -q -O - checkip.dyndns.org | sed -e 's /. Địa chỉ IP hiện tại: // '-e' s / <. $ // '
lấy từ: http://www.go2linux.org/what-is-my-public-ip-address-with-linux
Nếu bạn cần tìm ra địa chỉ IP của bộ định tuyến, bạn có thể chạy lệnh này.
đào + ngắn myip.opendns.com @ 208,67.222.222 @ 208,67.220.220
Nếu bạn đang sử dụng OpenDNS cho máy chủ dns của mình, bạn có thể rút ngắn nó thành:
đào + ngắn myip.opendns.com
Bạn cũng có thể sử dụng lệnh này.
cuộn tròn http://myip.dnsomatic.com
Nếu bạn có nhiều giao diện, có thể hữu ích để chỉ định giao diện nào bạn muốn IP. nếu bạn muốn địa chỉ IPV4 của giao diện 'eth0':
ip addr show dev eth0 | grep "inet " | awk '{ print $2 }'
nếu bạn muốn địa chỉ IPV6 của giao diện 'eth0':
ip addr show dev eth0 | grep "inet6 " | awk '{ print $2 }'
nếu bạn muốn tìm kiếm IP giữa hai giao diện phổ biến của máy tính xách tay, wlan0 và eth0:
CURRENT_IP=''
for INTERFACE in wlan0 eth0; do
if [ -z $CURRENT_IP ]; then
CURRENT_IP=$(ip addr show dev $INTERFACE | grep "inet " | awk '{ print $2 }')
fi
done
Chỉ cần cuộn tròn trang này :
$ curl wtfismyip.com/text
Đây cũng là một dòng hoạt động trên Linux và OS X và nó sẽ trả về địa chỉ đầu tiên không phải là cục bộ:
ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
Gửi tín dụng đến /programming//a/13322549/99834
LOCAL_IP=`/bin/hostname -I | sed 's/ //g'`
Điều tôi hiểu là bạn muốn kết nối một máy ubfox từ xa có ip động. Truy cập trang web dyndns.org và mở một tài khoản miễn phí. Sau đó, trên máy từ xa, bạn cần cài đặt một công cụ ip động.
sudo aptitude install dyndns-client
để bạn có thể ssh máy từ xa thông qua
ssh username@yourdynamicnamealias.dyndns.org
Vì vậy, sau khi cấu hình, bạn sẽ không bao giờ cần địa chỉ ip máy từ xa.
nếu bạn chỉ cần một IP duy nhất của giao diện đã cho, bạn có thể làm:
ifconfig eth0 | grep "inet " | awk '{gsub("addr:","",$2); print $2 }'
Tôi đã từng đánh golf việc trích xuất địa chỉ IP trên Linux:
http://www.catonmat.net/blog/golfing-the-extraction-of-ip-addresses-from-ifconfig/
Nếu bạn đang tìm kiếm một địa chỉ IP công cộng của hộp , bạn có thể sử dụng như sau:
dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \"
Bạn có thể sử dụng dig(1)
các tùy chọn như -4
hoặc -6
đặc biệt tìm kiếm địa chỉ IPv4 hoặc IPv6; Google sẽ cung cấp một câu trả lời trong một bản ghi TXT
loại, trong đó sẽ có các trích dẫn xung quanh nó khi được trình bày bởi dig
; nếu sau đó bạn muốn sử dụng biến với các tiện ích như traceroute
, bạn phải sử dụng cái gì đó như tr (1) để xóa các trích dẫn đã nói.
Các tùy chọn khác bao gồm whoami.akamai.net
và myip.opendns.com
, câu trả lời với A
và AAAA
các bản ghi (thay vì TXT
như trong ví dụ trên từ Google), vì vậy, chúng không yêu cầu xóa các trích dẫn:
dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short
dig -4 @resolver1.opendns.com -t any myip.opendns.com +short
dig -6 @resolver1.opendns.com -t any myip.opendns.com +short
Đây là tập lệnh mẫu sử dụng tất cả các tùy chọn ở trên để đặt các biến:
#!/bin/sh
IPANY="$(dig @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv4="$(dig -4 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
GOOGv6="$(dig -6 @ns1.google.com -t txt o-o.myaddr.l.google.com +short | tr -d \")"
AKAMv4="$(dig -4 @ns1-1.akamaitech.net -t a whoami.akamai.net +short)"
CSCOv4="$(dig -4 @resolver1.opendns.com -t a myip.opendns.com +short)"
CSCOv6="$(dig -6 @resolver1.opendns.com -t aaaa myip.opendns.com +short)"
printf '$GOOG:\t%s\t%s\t%s\n' "${IPANY}" "${GOOGv4}" "${GOOGv6}"
printf '$AKAM:\t%s\n$CSCO:\t%s\t%s\n' "${AKAMv4}" "${CSCOv4}" "${CSCOv6}"
Nếu bạn đang tìm kiếm một địa chỉ IP riêng hoặc cho một tập hợp tất cả các địa chỉ IP được gán cho hộp, bạn có thể sử dụng một số kết hợp ifconfig
(trên BSD và GNU / Linux), ip addr
(trên GNU / Linux), hostname
(tùy chọn -i
và -I
bật GNU / Linux) và netstat
để xem những gì đang xảy ra.
vi /etc/network/interfaces
và đặt giao diện thànhstatic
(xem help.ubfox.com/8.10/serverguide/C/network-configuration.html )