如何通过命令行连接到互联网?

我通常通过手机的SIM卡连接到互联网。 它是一个GSM网络。

要以GUI方式连接到Internet,请转到通知栏,单击网络图标,然后单击连接名称。 连接网络图标后,更改表明我已连接到互联网。

我可以用命令行方式吗?

所有需要就在这里

  1. sudo nano /etc/chatscripts/ispname

  2. 在此文件中您将放置以下代码:

     TIMEOUT 10 ABORT 'BUSY' ABORT 'NO ANSWER' ABORT 'ERROR' ABORT 'NO CARRIER' '' 'ATZ' 'OK' 'ATE1' 'OK' 'AT+CGDCONT=1,"IP","ispapn","0.0.0.0",0,0' 'OK' 'ATDT*99#' 'CONNECT' '\c' 

    您应该将“ispapn”替换为您的ISP访问点名称(APN。)

  3. 如果您的ISP使用PAP身份validation,那么您必须在/ etc / ppp / pap-secrets文件末尾添加ISP提供的用户名和密码。

     sudo nano /etc/ppp/pap-secrets 
  4. 如果您的Internet服务提供商使用CHAP身份validation,请执行相同操作,但使用/etc/ppp/chap-secrets文件。

    此外,我们必须决定远程名称识别字符串,该字符串将在后续步骤中用于指示pppd使用正确的papchap凭据。

    我会在这里使用字符串“ ispname ”。 所以这就是我在/etc/ppp/pap-secrets文件末尾放置的内容(在此处输入您选择的用户名,密码和字符串,而不是我的“ ispusername ”,“ isppassword ”和“ ispname ”):

      "ispusername" "ispname" "isppassword" 
  5. 如果您的ISP未使用身份validation,并且您不需要提供连接到Internet的名称和密码,则可以完全跳过此步骤。

  6. 作为下一步,我们必须创建所谓的对等文件,pppd将使用该文件来使用第二步中存储的凭据拨打在第一步中创建的聊天脚本。 我将调用我的peer文件“ispname”并将其放入/ etc / ppp / peers目录:

    sudo nano /etc/ppp/peers/ispname

    在我的同伴文件中,我将放置以下代码:

     hide-password noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/ispname" debug /dev/ttyUSB0 115200 defaultroute replacedefaultroute noipdefault usepeerdns crtscts lock local # Redial and interval persist holdoff 5 # No compression novj novjccomp nopcomp nodeflate # PAP authentication user "ispusername" remotename ispname refuse-chap refuse-mschap refuse-mschap-v2 refuse-eap # LCP echo messages settings lcp-echo-failure 4 lcp-echo-interval 65535 
  7. 这是让您上网的基本配置。 要拨打你的连接,你将使用sudo pon ispname并断开连接,你将使用sudo poff ispname,其中“ispname”是你的对等文件名。 为了能够在没有sudo的情况下拨号,您需要将自己添加到“拨出”组:

     sudo adduser $USER dialout 
  8. 此外,您可能需要为pppd连接创建接口,以便您可以使用“ ifup ”和“ ifdown ”命令控制GSM移动宽带连接和/或在PC启动时自动拨号。 你可以通过在/etc/network/interfaces文件中添加这样的东西来实现这个目的:

     auto ppp0 iface ppp0 inet ppp pre-up sleep 10 provider ispname 

GUI是网络管理器的前端,网络管理器是一个守护进程。 您也可以让守护进程使用命令行建立连接。 这样,您的配置在GUI和命令行方法之间共享。

您可以使用的工具是nmcli ,它与网络管理器一起安装,因此应该已经存在于您的系统中。 要在GUI中连接到名为network-name的 nmcli con up id network-name ,请在命令行上键入nmcli con up id network-name 。 同样, nmcli con down id network-name将断开连接。 如果GUI( nm-applet )正在运行,那么您将看到其显示的状态相应更改。

有关更多详细信息,请参见nmcli联机帮助页 。 新版本的联机帮助页也包含示例,但我找不到与此相关的在线链接。

以下是有关如何从命令行连接到Internet的文章的链接。 我不会尝试在这里重现它,因为它在文章中有清楚的解释。

http://www.ghacks.net/2009/04/14/connect-to-a-wireless-network-via-command-line/

我认为这将适用于你正在使用的手机,但我不确定使用手机是否与典型的wifi不同。 以下是另一个论坛中可能有帮助的post:

https://superuser.com/questions/34166/connecting-to-internet-via-phone-on-linux

我希望这有帮助。 祝好运。

你也可以使用wvdial

使用sudo apt-get install wvdial安装它然后,运行sudo wvdialconf

并编辑配置文件sudo gedit /etc/wvdial.conf

你会得到类似的东西

 [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Modem Type = USB Modem ISDN = 0 New PPPD = yes Modem = /dev/ttyACM0 Phone = *91# Username = Password = Baud = 460800 

如果需要,输入用户名和密码(如果不需要,请留空)。 还提供拨打的电话号码。 例如: *91##777 …等如果使用USB连接手机, Modem值很可能是/tty/USB0或类似的东西。

最后,使用wvdial命令启动连接。