Linux
Linux下使用Rinetd来实现端口转发
安装
centos
0、对于centos,由于官方的源中并没有Rinetd,所以首先需要第三方源
32位系统:
$ vim /etc/yum.repos.d/nux-misc.repo
[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/i386/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
64位系统:
$ vim /etc/yum.repos.d/nux-misc.repo:
[nux-misc]
name=Nux Misc
baseurl=http://li.nux.ro/download/nux/misc/el6/x86_64/
enabled=0
gpgcheck=1
gpgkey=http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
1、安装Rinetd
$ yum --enablerepo=nux-misc install rinetd
Ubuntu
apt-get install rinetd
配置
端口转发的配置文件在/etc/rinetd.conf
配置文件的格式:
[bindaddress] [bindport] [connectaddress] [connectport]
绑定的地址 绑定的端口 连接的地址 连接的端口
[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口
例如:
0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80
allow *.*.*.*
logfile /var/log/rinetd.log
说明
0.0.0.0表示本机绑定所有可用地址
将所有发往本机8080端口的请求转发到172.19.94.3的8080端口
将所有发往本机2222端口的请求转发到192.168.0.103的3389端口
将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口
allow设置允许访问的ip地址信息,...表示所有IP地址
logfil设置打印的log的位置
启动程序
pkill rinetd ##关闭进程
rinetd -c /etc/rinetd.conf ##启动转发
把命令加到/etc/rc.local里面就可以开机自动运行
Ubuntu
默认编辑器nano
用习惯了vim编辑器,有时候想修改配置文件,可设备又没网,Ubuntu默认使用的是nano编辑器,真心不如vim好用。
ctrl+X #退出
ctrl+O #保存
Ubuntu设置静态ip
通过修改“/etc/network/interfaces”进行修改,
注:在设置多个DNS服务器的时候要加“s”,如:
dns-nameservers 114.114.114.114 8.8.8.8
修改之后需要执行:
sudo /etc/init.d/networking restart
使用这个方式修改ip地址,修改完interfaces文档中的内容后,需要修改/etc/NetworkManager/NetworkManager.conf文档中的managed参数,使之为true,并重启。否则,会提示说“有线网络设备未托管”。
重启网络或系统之后就修改完成了。
安装TeamViewer
teamviewer远程登录的方式不建议使用!
1、到TeamViewer官网下载对应版本的安装包。
2、下载完成之后切换到下载目录,执行:
sudo dpkg -i teamviewer_13.0.9865_amd64.deb
版本号要根据下载的包进行更改。
这时候可能会报出如下错误:
正在选中未选择的软件包 teamviewer。
(正在读取数据库 … 系统当前共安装有 253291 个文件和目录。)
正准备解包 teamviewer_13.0.6634_amd64.deb …
正在解包 teamviewer (13.0.6634) …
dpkg:警告:无法删除原有的目录 /var/log/teamviewer12 :目录非空
dpkg: 依赖关系问题使得 teamviewer 的配置工作不能继续:
teamviewer 依赖于 qtdeclarative5-dialogs-plugin (>= 5.2) | qml-module-qtquick-dialogs (>= 5.2);然而:
未安装软件包 qtdeclarative5-dialogs-plugin。
未安装软件包 qml-module-qtquick-dialogs。
dpkg: 处理软件包 teamviewer (–install)时出错:
依赖关系问题 - 仍未被配置
正在处理用于 desktop-file-utils (0.22-1ubuntu5.1) 的触发器 …
正在处理用于 gnome-menus (3.13.3-6ubuntu3.1) 的触发器 …
正在处理用于 bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1) 的触发器 …
Rebuilding /usr/share/applications/bamf-2.index…
正在处理用于 mime-support (3.59ubuntu1) 的触发器 …
正在处理用于 hicolor-icon-theme (0.15-0ubuntu1) 的触发器 …
在处理时有错误发生:
teamviewer
目前我遇到的有两种解决方式:
一、修复依赖关系
一种解决方法是执行如下命令修复依赖关系:
sudo apt install f
执行完后再安装看看能否成功,如果还是不成功就要采用第二种方式了。
二、更新源地址
①删除安装到一半的teamviewer:
sudo apt-get remove teamviewer
②在Ubuntu的源列表中找到对应系统的源,复制到/etc/apt/sources.list 里面,并把原来的链接注释掉。
③更新系统软件:
sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件
④运行安装命令:
sudo dpkg -i teamviewer_13.0.9865_amd64.deb
3、在TeamViewer的使用中发现经常在系统重启后连接就出现“未知原因”的问题,原因还在摸索中,目前能解决的方法就是卸载重新安装:
apt purge teamviewer
sudo dpkg -i teamviewer_13.0.9865_amd64.deb
16.04出现“The system is running in low-graphics mode”
在虚拟机中安装的Ubuntu16.04无法显示完全,尝试修改分辨率后会卡死,然后重启就会出现如题所示的错误。
解决方法为:
1、重启虚拟机,按ctrl + alt + F1 进入纯字符界面,输入账号和密码
2、执行如下命令:
cd /etc/X11
sudo cp xorg.conf.failsafe xorg.conf #刷新配置文件
sudo reboot
重启之后就可以正常显示了。
启用root用户
执行:
sudo passwd root
设置密码后即可使用su直接切换为root用户。
安装GNOME Shell桌面
1、安装GNOME Shell
sudo apt-get install gnome-shell
安装过程中出现如下界面,选择lightdm:
2、退出当前账户,选择GNOME桌面系统
3、重新登陆,安装gnome-tweak
sudo apt-get install gnome-tweak-tool
tweak是主题管理工具,具体使用方法参见:
https://itsfoss.com/install-switch-themes-gnome-shell/
4、使用tweak更换主题
方法参考:
https://itsfoss.com/gnome-shell-themes-ubuntu-1404/
执行sudo apt-get update出错
在运行sudo apt-get update时出现如下信息:
Reading package lists... Done
E: Problem executing scripts APT::Update::Post-Invoke-Success
'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli;
then appstreamcli refresh > /dev/null;
fi'
E: Sub-process returned an error code
解决方法如下:
sudo pkill -KILL appstreamcli
wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb
或者:
apt show appstream
sudo apt remove appstream
Ubuntu在虚拟机中显示不全的问题
关于这个问题之前也是尝试了无数的方法,今天无意间明白了原因并解决了问题。
1、首先要明白的是不是随便一个分辨率都可以更改,首先执行以下命令查询当前的显示状态:
xrandr
其中第一个带*的就是当前的分辨率,其下的数值是我们可以更改的分辨率,每个虚拟机可能略有不同。
2、执行:
xrandr -s 1440x900_59.9
即可将分辨率设置为1440x900。
3、上述命令只能临时修改,永久修改需要执行:
xrandr --output Virtual1 --mode 1440x900
其中“Virtual1”是显示器的名称,要根据执行xrandr返回的信息进行相应的替换。
4、错误
这些也是我自己遇到的一点问题。
①有时候执行步骤3中所说的命令并不能永久更改,重启后会失效。目前一个方法就是在系统设置→显示中应用一下更改过来的分辨率,这样在重启之后就不会出现问题了。
②“xrandr: Configure crtc 0 failed”这是一个系统bug,在设置,关于这台计算机,检查更新。更新完重启后就没问题了。
Ubuntu16.04安装VNC
“VNC有很多选择,VNC4server,tigervncserver等等,都不推荐,难装又难用。经过多次实验和测试,最后只采用x11vnc作为VNC服务器端。” 查看原文
1、安装X11VNC
sudo apt install x11vnc -y
2、配置访问密码
sudo x11vnc -storepasswd /etc/x11vnc.pass
3、创建服务
vi /lib/systemd/system/x11vnc.service
粘贴如下代码:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
4、配置防火墙,配置并启动服务
sudo ufw allow 5900
sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload
如果出现如下图所示的错误,就说明第三步中你的配置信息粘贴错误了,修改正确即可解决。
5、重启系统
reboot
Ubuntu14.04安装VNC
1、安装X11VNC
sudo apt install x11vnc -y
2、配置访问密码
sudo x11vnc -storepasswd /etc/x11vnc.pass
3、创建配置文件
sudo touch /etc/init/x11vnc.conf
4、赋予权限
sudo chmod a+w /etc/init/x11vnc.conf
5、在配置文件中加入以下内容:
start on login-session-start
script x11vnc -display :0 -auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vnc.pass -rfbport 5900 end script
6、重启
reboot
nat123配置
nat123端口映射是专业的内网端口映射软件,在内网启动映射后,可在外网轻松访问连接内网网站等应用,不需要设置路由器,不需要公网ip,不需要固定ip,不需要动态域名。
Ubuntu配置过程:(其它linux直接参考官网说明)
0、注册账号
没有注册过账号的先到官网注册:http://www.nat123.com/
1、安装mono运行环境
apt-get install mono-complete
安装完成后执行“mono -V”可查看安装的版本信息。
2、客户端安装
cd /opt
mkdir nat123
cd /nat123
wget http://www.nat123.com/down/nat123linux.tar.gz
tar -zxvf nat123linux.tar.gz
3、启动客户端
cd /opt/nat123
mono nat123linux.sh
输入用户名和密码登录成功后,直接结束当前进程,然后执行如下命令改为后台运行:
cd /opt/nat123
mono nat123linux.sh service &
ps -ef|grep nat123 #查看nat123状态
4、登录网页添加端口映射或动态域名解析
RHEL
系统意外重启后VNC连接失败
在服务器中运行着几个RHEL实例,VNC是之前老师配置的,这几个实例在服务器断电重启之后会出现VNC连接出错的问题。解决方法如下:
cd /tmp
rm -rvf .X11-unix #手动删除因为VNC非正常退出未删除的文件
vncserver :3 #重启服务
RHEL7设置开机自动连接网络
前几天在服务器上新装了一个RHEL7的虚拟机,不知道是不是镜像的原因,虚拟机默认设置是开机后网络连接处于断开状态,查了一下只需要修改一个配置参数即可。
进入“/etc/sysconfig/network-scripts”目录,编辑“ifcfg-en”开头的文件:
在文件中找到“ONBOOT”选项,将原来的“no”改为“yes”即可。
CentOS
修改时区
CentOS 6:
date -R #查看时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改时区
CentOS 7:
timedatectl set-timezone Asia/Shanghai