|
rh5.4做网关(eth1是一个大厦的光纤内网,10段,eth1一个192段,192段还有个adsl出口网关), 防火墙一直用得好好的。昨天大概半夜停电过一次以后自动重启 今天早上一来ssh连接不上去了, 发现一开防火墙内网就ssh连接不上,抓包是有包进去的,telnet也可以连接端口,但是连接后空白没有 ssh服务器提示。iptables一条一条删除规则,发现里面mangle表里out put里给ssh打了mark标记ssh 就没办法登陆。之前一直靠这个标记来换出口网关(另外一个adsl出口网关)好让外网能nat访问, 麻痹这下好了,打了标记的就不能登陆了。擦,这啥子原因? 最后还得靠自己解决 原来我/etc/rc.local里有 |
#ip route add 192.168.1.0/24 proto kernel dev eth0 src 192.168.1.3 table 10
ip rule add from 0/0 fwmark 0x3 table 10 pref 10
ip route flush cache
把注释掉的那行运行下就OK了
原来iproute 遇到有标记的如果没指定table就TM的有问题我草
搞半天还以为linux被断电给断坏了-_-
事件2、
本来raw表里我从来不处理ssh端口的内容的,手抽加了下
-A PREROUTING -p tcp -m tcp -m multiport --dports 1521,22 -j NOTRACK
-A OUTPUT -p tcp -m tcp -m multiport --sports 1521,22 -j NOTRACK
发现ssh不能登陆。
配置文件里加上
-A INPUT -i eth1 -p tcp -m multiport --dports 1521,22 -j ACCEPT
后内网可以登陆了,-v-这样看来是ssh端口的规则因为notrack失效了
测试了下发现是raw表里NOTRACK规则导致下面规则失效
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m limit --limit 15/min --limit-burst 30 -j ACCEPT
注意,上面的解释是错误的,我在下面链接已经重新解释了原因
http://blog.chinaunix.net/uid-23504396-id-4844682.html
注意,上面的解释是错误的,我在下面链接已经重新解释了原因
http://blog.chinaunix.net/uid-23504396-id-4844682.html
顺便备份一个linux高级流量控制中文版的 pdf